BrauerStates

From QETLAB
Jump to navigation Jump to search
BrauerStates
Produces all Brauer states

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

BrauerStates is a function that returns all "Brauer" states: state that are the $k$-fold tensor product of the standard pure maximally-entangled state. Note that there are $(2k)!/(k!\cdot 2^k)$ such states, since this is the number of ways of choose $k$ pairs out of $2k$ objects (here, each pair corresponds to two subsystems that are maximally-entangled). Note that the states returned are unnormalized (i.e., all of their entries are 0 or 1, rather than being scaled so that the norm of each state is 1) and sparse.

Brauer states are interesting because they span the subspace that is invariant under the action of $X^{\otimes 2k}$ for every real orthogonal matrix $X$.

Syntax

  • B = BrauerStates(K,N)

Argument descriptions

  • K: Half of the number of parties (i.e., the states that this function computes will live in $2K$-partite space).
  • N: The dimension of each local subsystem (i.e., the states that this function computes will live in $(\mathbb{C}^N)^{\otimes 2K}$).

Examples

Four-qubit Brauer States

The following code generates a matrix whose columns are all Brauer states on 4 qubits:

>> full(BrauerStates(2,2))

ans =

     1     1     1
     0     0     0
     0     0     0
     1     0     0
     0     0     0
     0     1     0
     0     0     1
     0     0     0
     0     0     0
     0     0     1
     0     1     0
     0     0     0
     1     0     0
     0     0     0
     0     0     0
     1     1     1

Indeed, the first column of the output above is the state that is maximally-entangled between qubits 1 and 2, and maximally-entangled between qubits 3 and 4. The second column is the state that is maximally-entangled between qubits 1 and 3 and between qubits 2 and 4. Finally, the third column is the state that is maximally-entangled between qubits 1 and 4 and between qubits 2 and 3.

Notes

In general, the output of this function will be a $N^{2K}$-by-$(2K)!/(K!\cdot 2^K)$ matrix.

Source code

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