DickeState

From QETLAB
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

A very large Dicke state

This script has no trouble creating Dicke states on very large numbers of qubits. The following code generates a 45-qubit Dicke state:

>> tic; DickeState(45); toc
Elapsed time is 0.101930 seconds.

Note that Octave has a size limit of 2^31-1, so DickeState(30) is the limit of this function there. DickeState(31) and larger will produce an error in Octave (but not MATLAB).

Source code

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