I experimented with stim and qiskit for QECC simulations. They both have limitations : for example stim has no support for non-clifford operations (qiskit does); qiskit has no support for multiple pauli strings measurement (stim does). The two are still useful for some sims, but I'd like a more complete package. Would cirq be an option to experiment with? what would be its advantages/drawbacks?


1 Answer 1


I wrote most (as in >50% not as in all) of the initial versions of cirq, and was its team lead for a couple years.

I wouldn't recommend using Cirq as a tool for simulating QEC codes.

Cirq is first and foremost designed as a NISQ library. It's not incapable of simulating QEC codes, or building QEC codes; in the past I've used it for both. It was the tool used internally to build the circuits used in Google's 3-vs-5 QEC experiment. But QEC is not Cirq's design goal. Correspondingly, it has essentially no tools specialized for doing this, and the ones it does have are not polished. It's designed for circuits with up to 100 qubits and up to 10K operations, whereas QEC circuits can easily contain thousands of qubits and millions of operations. Basically it will work okay for very small distance codes, but you can quickly get into situations where performance becomes a problem.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.