A cluster state simulator for measurement-based quantum computation, in browser. Try it here: [https://clustersim.app]
Based on the paper 'Fast simulation of stabilizer circuits using a graph state representation' by Simon Anders and Hans J. Briegel (here)
To install, use:
pip install .
Alternatively, using requirements.txt:
pip install -r requirements.txt
To install with conda, make an empty conda environment, and then run:
conda install --file requirements.txt
After installation, run
cd src
python grid3dfigure.py
- This implementation is based around graph states. These were introduced in the paper about entanglement purification (here) to study the entanglement properties of certain multi-qubit systems
- Takes their name from graphs in maths
- Each qubit corresponds to a vertex of the graph, and each edge indicates which qubits have interacted.
- There is a bijection between stabilizer states (the states that can appear in a stabilizer circuit) and graph states. That is, every graph state has a corresponding stabilizer state, and every stabilizer state has a corresponding graph state.
- This can be shown as: Any stabilizer state can be transformed to a graph state by applying a tensor product of local Clifford operations. These are known as vertex operators (VOPs). See this paper and this paper.
- The standard approach is to store a tableau of stabillzer operators (an
$n \times n$ matrix of Pauli operators). - The improved algorithm needs only the graph state and the list of VOPs, and requires space
$\mathcal{O}(n \log n)$ . - To then change the state, measurement is studied in this paper, and gate application in the paper mentioned above.