Fast algorithms for classical specifications of stabiliser states and Clifford gates
Abstract
The stabiliser formalism plays a central role in quantum computing, error correction, and fault tolerance. Conversions between and verifications of different specifications of stabiliser states and Clifford gates are important components of many classical algorithms in quantum information, e.g. for gate synthesis, circuit optimisation, and simulating quantum circuits. These core functions are also used in the numerical experiments critical to formulating and testing mathematical conjectures on the stabiliser formalism. We develop novel mathematical insights concerning stabiliser states and Clifford gates that significantly clarify their descriptions. We then utilise these to provide ten new fast algorithms which offer asymptotic advantages over any existing implementations. We show how to rapidly verify that a vector is a stabiliser state, and interconvert between its specification as amplitudes, a quadratic form, and a check matrix. These methods are leveraged to rapidly check if a given unitary matrix is a Clifford gate and to interconvert between the matrix of a Clifford gate and its compact specification as a stabiliser tableau. For example, we extract the stabiliser tableau of a $2^n \times 2^n$ matrix, promised to be a Clifford gate, in $O(n 2^n)$ time. Remarkably, it is not necessary to read all the elements of a Clifford gate matrix to extract its stabiliser tableau. This is an asymptotic speedup over the best-known method that is exponential in the number of qubits. We provide implementations of our algorithms in $\texttt{Python}$ and $\texttt{C++}$ that exhibit vastly improved practical performance over existing algorithms in the cases where they exist.
- Publication:
-
arXiv e-prints
- Pub Date:
- November 2023
- DOI:
- 10.48550/arXiv.2311.10357
- arXiv:
- arXiv:2311.10357
- Bibcode:
- 2023arXiv231110357D
- Keywords:
-
- Quantum Physics;
- Computer Science - Data Structures and Algorithms
- E-Print:
- C++ and Python implementations available at https://github.com/ndesilva/stabiliser-tools. Major update (v4): New C++ implementations offer order of magnitude speedups, asymptotic complexity of 3 algorithms reduced by a factor of the number of qubits, timed benchmarks against existing implementations provided in Appendix B, one asymptotic speedup claim corrected from superexponential to exponential