Difference between revisions of "DickeState"

From QETLAB
Jump to navigation Jump to search
(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...")
 
Line 60: Line 60:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==Notes==
+
===A very large Dicke state===
This function is practical for up to about 30 qubits.
+
This script has no trouble creating Dicke states on very large numbers of qubits. The following code generates a 45-qubit Dicke state:
 +
<syntaxhighlight>
 +
>> tic; DickeState(45); toc
 +
Elapsed time is 0.101930 seconds.
 +
</syntaxhighlight>
  
 
{{SourceCode|name=DickeState}}
 
{{SourceCode|name=DickeState}}

Revision as of 18:00, 19 December 2014

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.

Source code

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