Qiskit / documentation

The documentation content home for https://docs.quantum.ibm.com.
https://docs.quantum.ibm.com
Apache License 2.0
29 stars 48 forks source link

[ NEW PAGE ] Using the Clifford Simulator #108

Closed javabster closed 8 months ago

javabster commented 9 months ago

What the new page should cover:

Non-trivial example of using Clifford Simulator

SME collaborators (involve for planning and review):

Shelly Garion

Existing resources to build upon

kevinsung commented 8 months ago

There are actually two distinct and unrelated Clifford simulator implementations:

Which one of these should the new page be about? Should we write about both of them?

ShellyGarion commented 8 months ago

I think that probably both of them should be documented, and a good starting point could be this blog: https://medium.com/qiskit/explore-the-clifford-group-a-crucial-tool-for-benchmarking-error-correction-and-more-b9fdca16bb46

However, I also think that Qiskit Aer simulator is more powerful in several ways: First, as it's written in C++ it should be more efficient and scalable than the Python quantum_info classes. Second, Qiskit Aer also includes the Extended Stabilizer simulator that can simulate circuits containing some non-Clifford gates. Third, one can use Qiskit Aer noise model to simulate Clifford circuits with additional Pauli noise using the Stabilizer simulator.

Perhaps there may be some interesting use-cases for Quantum Error Correction (https://github.com/qiskit-community/qiskit-qec)?

ShellyGarion commented 8 months ago

Note that the StabilizerState class can be useful in preparing an initial stabilizer state as part of a more general quantum circuit (or a final Clifford for multi-qubit Randomized Benchmarking). There are some efficient synthesis algorithms for it: https://qiskit.org/documentation/apidoc/synthesis.html#qiskit.synthesis.synth_stabilizer_depth_lnn

kevinsung commented 8 months ago

Thanks for the information. I think this particular page should explain the most efficient option, which is the Aer simulator. Using StabilizerState should probably be documented in a page that's more focused on quantum information.