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