Vecs2Pauli

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 2×2 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:

Getting started in less than a minute

Install using the Pip package manager for Python packages:
pip install vecs2pauli
Use the following Python code to find the stabilizer group generators of the Bell state:
bell_state = [1, 0, 0, 1]  # |00> + |11>

print(vecs2pauli.get_stabilizers(bell_state))
# prints ["+ZZ", "+XX"]
For more examples, see here.

Key features



When is Vecs2Pauli useful?



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.

A very common type of implicit description is a small set of Pauli matrices, a type of matrix that has a short description (much shorter than the vector). This is called the (Pauli) stabiliser formalism, which forms the basis of techniques for correcting errors in quantum computers as well as fast simulation of a useful type of quantum circuit on a regular computer.

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).