A simple simulator for quantum stabilizer circuits based on Scott Aaronson, Daniel Gottesman, Improved Simulation of Stabilizer Circuits for Julia. Adapted from a Python implementation and uses a similar API.
This simulator can efficiently simulate Clifford operations on many qubits but does not support non-Clifford operations.
Install ChpSim with Julia's package manager:
julia -e 'using Pkg; Pkg.add("ChpSim")'
using ChpSim
sim = ChpState(6)
hadamard!(sim, 1) # Hadamard gate on the first qubit
phase!(sim, 6) # S gate on the last qubit
cnot!(sim, 2, 3) # CNOT gate with control on qubit 2 and target on 3
r = measure!(sim, 3) # Measure qubit 3
r.value # The boolean measurement, true or false
r.determined # False if the qubit was in superposition before measurement
# Uses 1/8 the memory but is typically slower
using ChpSim
sim = ChpState(6, bitpack=true)