I'm looking for an efficient implementation of the Clifford group $\mathcal{C}_n$ of $n$ qubits. The Clifford group $\mathcal{C}_n$ has stucture $(2_+^{1+2n} \circ C_8).Sp(2,n)$, where $2_+^{1+2n}$ denotes an extraspecial 2 group of $+$ type, $C_8$ the cyclic group of order 8, and $Sp(2n,2)$ a symplectic group over the binary field. Here "$\circ$" means the central product.

The Clifford group $\mathcal{C}_n$ can be used for the simulation of quantum computing with $n$ qubits and a restricted set of qubit gates in polynomial time, see e.g. [1]. It has a unitary complex representation of dimension $2^n$, see e.g. [2]. Quantum theorists use an explicit construction $\rho$ of that representation of $\mathcal{C}_n$ based on Pauli matrices, see [1]. Vectors in $\rho$ are called state vectors. In [1] the group $\mathcal{C}_n$ is generated by the qubit gates CNOT, Phase, and Hadamard. These gates operate (repeatedly) on the state vectors starting at a certain unit vector $e_0 = |0 \ldots 0 \rangle$. Let $V_0$ be the image of $e_0$ under the operation of $\mathcal{C}_n$ in the state vector space. The states in $V_0$ are also called stabilizer states.

I need an implementation of representation $\rho$ that supports the following operations:

  • Multiplication, inversion, and test for equality in $\mathcal{C}_n$.

  • Operation of an element of $\mathcal{C}_n$ on a state vector in $V_0$.

  • Output of an entry of the matrix representing an element of $\mathcal{C}_n$.

  • Output of an entry of a state vector in $V_0$.

  • Some kind of qubit measurement applied to a state vector in $V_0$, as in [1].

Entries of matrices and vectors are with respect to the representation $\rho$ in [1]. Runtime should be polynomial in $n$.

I have some concrete ideas for such an implementation.

My question is:

Has anybody implemented a similar representation of $\mathcal{C}_n$ before?

Note that the representation in [1] implements state vectors in $V_0$ (up to a scalar multiple), and operation of $\mathcal{C}_n$ on $V_0$, but not the computation of entries of group elements or state vectors. In [1] elements of
$\mathcal{C}_n$ cannot easily be tested for equality. I also need to distingiush between scalar multiples of a state vector, which is irrelevant in quantum theory.

[1] https://arxiv.org/abs/quant-ph/0406196

[2] https://arxiv.org/abs/math/0001038

Cross-posted from MathOverflow

  • $\begingroup$ If you want to, delete from MathOverflow. That's usual crossposting policy. $\endgroup$ – AHusain Jan 10 at 9:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.