Stim: a fast stabilizer circuit simulator

Craig Gidney

Google Inc., Santa Barbara, California 93117, USA

Find this paper interesting or want to discuss? Scite or leave a comment on SciRate.


This paper presents “Stim", a fast simulator for quantum stabilizer circuits. The paper explains how Stim works and compares it to existing tools. With no foreknowledge, Stim can analyze a distance 100 surface code circuit (20 thousand qubits, 8 million gates, 1 million measurements) in 15 seconds and then begin sampling full circuit shots at a rate of 1 kHz. Stim uses a stabilizer tableau representation, similar to Aaronson and Gottesman's CHP simulator, but with three main improvements. First, Stim improves the asymptotic complexity of deterministic measurement from quadratic to linear by tracking the $inverse$ of the circuit's stabilizer tableau. Second, Stim improves the constant factors of the algorithm by using a cache-friendly data layout and 256 bit wide SIMD instructions. Third, Stim only uses expensive stabilizer tableau simulation to create an initial reference sample. Further samples are collected in bulk by using that sample as a reference for batches of Pauli frames propagating through the circuit.

Quantum stabilizer circuits are simple enough to be efficiently simulated, but rich enough to represent important quantum effects like teleportation and error correction. Stim can analyze many stabilizer circuits tens of times faster than previous tools, and then collect samples tens of thousands of times faster than previous tools. This is useful because analyzing and simulating stabilizer circuits is a foundational part of quantum error correction research.

► BibTeX data

► References

[1] Scott Aaronson and Daniel Gottesman. Improved simulation of stabilizer circuits. Physical Review A, 70 (5): 052328, 2004. 10.1103/​PhysRevA.70.052328.

[2] Thomas Alexander, Lev Bishop, Andrew Cross, Jay Gambetta, Ali Javadi-Abhari, Blake Johnson, and John Smolin. "a new openqasm for a new era of dynamic circuits". https:/​/​​qiskit/​a-new-openqasm-for-a-new-era-of-dynamic-circuits-87f031cac49, 2020. Accessed: 2021-01-26.

[3] Simon Anders and Hans J Briegel. Fast simulation of stabilizer circuits using a graph-state representation. Physical Review A, 73 (2): 022334, 2006. 10.1103/​PhysRevA.73.022334.

[4] Dave Bacon. Operator quantum error-correcting subsystems for self-correcting quantum memories. Physical Review A, 73 (1): 012340, 2006. 10.1103/​PhysRevA.73.012340.

[5] Sergey Bravyi and Dmitri Maslov. Hadamard-free circuits expose the structure of the clifford group. arXiv preprint arXiv:2003.09412, 2020. URL https:/​/​​abs/​2003.09412.

[6] Sergey Bravyi, Dan Browne, Padraic Calpin, Earl Campbell, David Gosset, and Mark Howard. Simulation of quantum circuits by low-rank stabilizer decompositions. Quantum, 3: 181, 2019. 10.22331/​q-2019-09-02-181.

[7] Kaifeng Bu and Dax Enshan Koh. Efficient classical simulation of clifford circuits with nonstabilizer input states. Physical review letters, 123 (17): 170502, 2019. 10.1103/​PhysRevLett.123.170502.

[8] Rui Chao, Michael E Beverland, Nicolas Delfosse, and Jeongwan Haah. Optimization of the surface code design for majorana-based qubits. Quantum, 4: 352, 2020. 10.22331/​q-2020-10-28-352.

[9] Qiskit Contributors. Qiskit: An open-source framework for quantum computing. 2019. 10.5281/​zenodo.2562110.

[10] A. G. Fowler, M. Mariantoni, J. M. Martinis, and A. N. Cleland. Surface codes: Towards practical large-scale quantum computation. Phys. Rev. A, 86: 032324, 2012. URL https:/​/​​10.1103/​PhysRevA.86.032324. arXiv:1208.0928.

[11] Craig Gidney and Austin G Fowler. Efficient magic state factories with a catalyzed $|ccz\rangle$ to $2|t\rangle $ transformation. Quantum, 3: 135, 2019. 10.22331/​q-2019-04-30-135.

[12] Craig Gidney, Austin Fowler, and Michael Newman. Informal private conversations about simulation bottlenecks, 2021.

[13] Daniel Gottesman. Stabilizer codes and quantum error correction. arXiv preprint quant-ph/​9705052, 1997. URL https:/​/​​abs/​quant-ph/​9705052.

[14] David Gross. Hudson’s theorem for finite-dimensional quantum systems. Journal of mathematical physics, 47 (12): 122107, 2006. 10.1063/​1.2393152.

[15] Clare Horsman, Austin G Fowler, Simon Devitt, and Rodney Van Meter. Surface code quantum computing by lattice surgery. New Journal of Physics, 14 (12): 123011, 2012. 10.1088/​1367-2630/​14/​12/​123011.

[16] Jakob Nielsen Hořeňovský. "response times: The 3 important limits". https:/​/​​articles/​response-times-3-important-limits/​, 1993. Accessed: 2021-01-26.

[17] Martin Hořeňovský. "generating random numbers using c++ standard library: the problems". https:/​/​​generating-random-numbers-using-c-standard-library-the-problems/​, 2020. Accessed: 2021-01-26.

[18] "Yack" (https:/​/​​users/​11887/​yack). Answer to "how many n-qubit stabilizer states are there?". Quantum Stack Exchange, 2020. URL https:/​/​​a/​11781/​119. URL:https:/​/​​a/​11781/​119 (version: 2021-01-27).

[19] Yifei Huang and Peter Love. Approximate stabilizer rank and improved weak simulation of clifford-dominated circuits for qudits. Physical Review A, 99 (5): 052307, 2019. 10.1103/​PhysRevA.99.052307.

[20] Yifei Huang and Peter Love. Feynman-path-type simulation using stabilizer projector decomposition of unitaries. Physical Review A, 103 (2), February 2021. 10.1103/​physreva.103.022428. URL https:/​/​​10.1103/​physreva.103.022428.

[21] Intel. Intel intrinsics guide (_mm256_and_si256). https:/​/​​sites/​landingpage/​IntrinsicsGuide/​#text=_mm256_and_si256&expand=301, 2021. Accessed: 2021-01-26.

[22] Angela Karanjai, Joel J Wallman, and Stephen D Bartlett. Contextuality bounds the efficiency of classical simulation of quantum processes. arXiv preprint arXiv:1802.07744, 2018. URL https:/​/​​abs/​1802.07744.

[23] Emanuel Knill. Quantum computing with realistically noisy devices. Nature, 434 (7029): 39–44, 2005. 10.1038/​nature03350.

[24] Shota Nagayama, Austin G Fowler, Dominic Horsman, Simon J Devitt, and Rodney Van Meter. Surface code error correction on a defective lattice. New Journal of Physics, 19 (2): 023050, 2017. 10.1088/​1367-2630/​aa5918.

[25] Jakob Nielsen. Usability engineering. Morgan Kaufmann, 1994.

[26] Peter Norvig. "approximate timing for various operations on a typical pc". http:/​/​​21-days.html#answers, 2014. Accessed: 2021-01-26.

[27] Patrick Rall, Daniel Liang, Jeremy Cook, and William Kretschmer. Simulation of qubit quantum circuits via pauli propagation. Physical Review A, 99 (6): 062337, 2019. 10.1103/​PhysRevA.99.062337.

[28] Quantum AI team and collaborators. Cirq, October 2020. URL https:/​/​​10.5281/​zenodo.4062499.

[29] Matthew Ware, Guilhem Ribeill, Diego Riste, Colm Ryan, Blake Johnson, and Marcus P da Silva. Experimental pauli-frame randomization on a superconducting qubit. In APS March Meeting Abstracts, volume 2017, pages L46–004, 2017. 10.1103/​PhysRevA.103.042604.

[30] Wikipedia. Advanced Vector Extensions — Wikipedia, the free encyclopedia. http:/​/​​w/​index.php?title=Advanced%20Vector%20Extensions&oldid=1021841294, 2021. [Online; accessed 11-May-2021].

Cited by

On Crossref's cited-by service no data on citing works was found (last attempt 2021-08-04 11:30:59). On SAO/NASA ADS no data on citing works was found (last attempt 2021-08-04 11:31:00).