Software for converting between quantum-state vectors and the (Pauli) stabilizer formalism
Vecs2Pauli is Python/C++ software which finds all Pauli stabilizers of a given quantum state, where the quantum state is given as a vector. More generally, it finds all local-Pauli transformations (strings of specific matrices) which map one given quantum state to another. Vecs2Pauli's functionality also includes the conversion from the vector-based and stabilizer-based representations of quantum-error correcting codes.
Vecs2Pauli is currently in its final stage of development as a Python/C++ library, but:
fast classical simulation of quantum circuits: converting from the slow vector-based simulation to the fast stabilizer-based simulation, if possible
educating quantum error correction: students can create quantum error-correction codes in the state-vector picture instead of the less beginner-friendly stabilizer-picture.
Specifically, they can start by defining the logical states as vectors, and subsequently use Vecs2Pauli to ...
...find the stabilizers of the code space (the usual representation of a code)
...find errors which the code cannot correct, i.e. Pauli strings which map one vector in the span to another
for a small number of qubits, testing hypotheses regarding whether states can be transformed using 'inexpensive' operations (e.g. local-Clifford)
High-level explanation
A quantum bit or qubit is the unit of computation of a quantum computer.
The state of a set of quantum bits is represented by a vector (a list) of complex numbers.
Most quantum-computing education starts by giving such vectors explicitly: students work out how the vector changes as the quantum computer runs its computation.
However, for analysing a quantum computation, a quantum state is often instead described implicitly. That is, without writing down this vector explicitly.
The reason for this is that the vector is exponentially long in the number of qubits, so it becomes infeasible to write the vector down explicitly, either on paper or in computer code.
For students and beginning quantum computer researchers, thinking and calculating with this implicit description is arguably much harder than with explicit vectors.
Vecs2Pauli helps by converting between the explicit description (vectors) and implicit description (Pauli matrices) of quantum states.
The conversion from vector to stabilisers is based on a novel algorithm.
For a formal description of the main task that Vecs2Pauli solves, see here.
Contributors
L. Vertegaal (main researcher), L. Vinkhuijzen, A. Laarman, T. Coopmans (project lead and point of contact).
The project is funded by the Leiden University Fund (LUF news).