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
I have written a collection of C programs together with a python interface that satisfies most of the requiremets listed above. Documentation see section
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
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP