TransWikia.com

Efficient implementation of the Clifford group for $n$ qubits

Quantum Computing Asked by Martin Seysen on May 8, 2021

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

One Answer

I have written a collection of C programs together with a python interface that satisfies most of the requiremets listed above. Documentation see section

https://mmgroup.readthedocs.io/en/latest/api.html#the-subgroup-2-1-24-co-1-of-the-monster-and-the-clifford-group

in https://mmgroup.readthedocs.io/en/latest/ .

My motivation for doing so was that high-speed computation in the Clifford group $mathcal{C}_{12}$ of 12 qubits is useful for computations in the monster group.

Answered by Martin Seysen on May 8, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP