BrauerStates

BrauerStates is a function that returns all "Brauer" states: state that are the $p$-fold tensor product of the standard pure maximally-entangled state. Note that there are $(2p)!/(p!\cdot 2^p)$ such states, since this is the number of ways of choose $p$ pairs out of $2p$ 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 2p}$ for every real orthogonal matrix $X$.

Syntax

 * B = BrauerStates(D,P)

Argument descriptions

 * D: The dimension of each local subsystem.
 * P: Half of the number of parties (i.e., the states that this function computes will live in $(\mathbb{C}^D)^{\otimes 2P}$).

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

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.