DickeState

From QETLAB
Revision as of 16:45, 19 December 2014 by Nathaniel (talk | contribs) (Created page with "{{Function |name=DickeState |desc=Generates a Dicke state |rel=GHZState<br />MaxEntangled<br />WState |cat=List of functions#Special_states,_vectors,_and_operato...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
DickeState
Generates a Dicke state

Other toolboxes required none
Related functions GHZState
MaxEntangled
WState
Function category Special states, vectors, and operators

DickeState is a function that returns a Dicke state on a given number of qubits. For example, the usual $3$-qubit Dicke state is: \[\frac{1}{\sqrt{3}}(|001\rangle + |010\rangle + |100\rangle).\] More generally, the Dicke state on $N$ qubits with $k$ excitations is \[\frac{1}{\sqrt{\binom{N}{k}}}\sum_{j} P_j \big(|0\rangle^{\otimes (N-k)} \otimes|1\rangle^{\otimes k} \big),\] where $P_j$ ranges over all operators that permute the $N$ qubits in the $\binom{N}{k}$ possible distinct ways. The output of this function is a sparse vector.

Syntax

  • DICKE_STATE = DickeState(N)
  • DICKE_STATE = DickeState(N,K)
  • DICKE_STATE = DickeState(N,K,NRML)

Argument descriptions

  • N: The number of qubits.
  • K (optional, default 1): The number of excitations (i.e., the number of "1" qubits in each term of the superposition; must be between 0 and N, inclusive.
  • NRML (optional, default 1): A flag (either 1 or 0) indicating that DICKE_STATE should or should not be scaled to have Euclidean norm 1. If NRML=0 then each entry of DICKE_STATE is 0 or 1, so it has norm $\sqrt{\binom{N}{k}}$.

Examples

3-qubit Dicke state

The following code generates the 3-qubit Dicke state (with 1 excitation):

>> full(DickeState(3))

ans =

         0
    0.5774
    0.5774
         0
    0.5774
         0
         0
         0

A 5-qubit Dicke state

The following code generates the 5-qubit 2-excitation Dicke state \[\frac{1}{\sqrt{10}}\big( |00011\rangle + |00101\rangle + |00110\rangle + |01001\rangle + |01010\rangle + |01100\rangle + |10001\rangle + |10010\rangle + |10100\rangle + |11000\rangle \big).\]

>> DickeState(5,2)

ans =

   (4,1)       0.3162
   (6,1)       0.3162
   (7,1)       0.3162
  (10,1)       0.3162
  (11,1)       0.3162
  (13,1)       0.3162
  (18,1)       0.3162
  (19,1)       0.3162
  (21,1)       0.3162
  (25,1)       0.3162

Notes

This function is practical for up to about 30 qubits.

Source code

Click here to view this function's source code on github.