Qiskit / qiskit-aer

Aer is a high performance simulator for quantum circuits that includes noise models
https://qiskit.github.io/qiskit-aer/
Apache License 2.0
464 stars 354 forks source link

Improve support for Pauli error channels for utility experiment-like simulations #2154

Closed chriseclectic closed 1 day ago

chriseclectic commented 4 weeks ago

What is the expected behavior?

To improve the efficiency of working with Pauli error channels in operators and noise models, particularly with a focus of large number of qubit simulations on stabilizer or MPS simulators.

I am working on 2 specific changes to Aer at the moment:

  1. [x] #2157 Add a PauliLindbladError noise error class supported by Aer's noise model and C++ sampling to represent Pauli channels generated by Pauli lindblad dissipators. When these are sparse generators these can be sampled from efficiently for large numbers of qubit errors like is used in PEC and PEA mitigation experiments.
  2. [x] #2156 Add a PauliError noise error class to more efficiently work with Pauli channels as operators (for composition, tensor product, etc) than the current QuantumError format which represents Pauli channels as QuantumCircuits. This new operator will use a PauliTable internally, but still serialize to the same structure as a pauli channel QuantumError for running on C++ simulators so that they don't need any additional changes.