Clifford circuits, a subset of quantum circuits can be simulated efficiently with the tableaux formalism (a.k.a. stabilizer formalism, a.k.a. destabilizer formalism, a.k.a. Heisenberg representation).

QuantumClifford.jl is a package implementing these formalisms. The package is meant to remain small and well optimized, dealing with that one single problem.

- A good example of simulating circuits with Monte Carlo and with symbolic Perturbative expansion
- A more low-level work where tableaux are studied in detail for the purpose of creating random quantum codes

The package has some original implementations of methods for the simulation of **noisy** Clifford circuits: a standard Monte Carlo approach, but also a **symbolic** perturbative expansion methods for simulating noise.

The representation of qubits is **well packed in memory**, and the majority of algorithms are **allocation free**. Julia was a particularly great language in which to write a simple but very fast implementation of these algorithms. There are still low-hanging fruits for optimization in some corners of the package and ensuring efficient use of the CPU cache.