-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Open
Labels
mod: primitivesRelated to the Primitives moduleRelated to the Primitives modulemod: quantum infoRelated to the Quantum Info module (States & Operators)Related to the Quantum Info module (States & Operators)type: feature requestNew feature or requestNew feature or request
Description
What should we add?
In Qiskit we have the class quantum_info.states.StabilizerState
which is effectively a Clifford simulator. Such simulator can provide real value for users thanks to their ability to handle large (Clifford) circuits.
Currently the usage of StabilizerState
is very simple:
from qiskit import QuantumCircuit
from qiskit.quantum_info import StabilizerState, Pauli
# Bell state generation circuit
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
stab = StabilizerState(qc)
print (stab.probabilities_dict())
However, this is not the interface expected by users or encouraged by our documentation; currently the users are encouraged to use the primitives
interface. While using primitives on the cloud is done via qiskit-ibm-runtime
, in qiskit-sdk
we also provide a local interface in the qiskit.primitives
module. There are two ways in which the existing Clifford simulator can be integrated into qiskit.primitives
with relative ease:
- We currently have a
StatevectorEstimator
andStatevectorSampler
classes which are also based on aquantum_info
capability (theStatevector
class). Similarly we can add aStabilizerEstimator
andStabilizerSampler
classes. - More generally, we can add a
StabilizerBackend
toproviders
(which currently contain the rudimentary simulatorBasicSimulator
) which will support theBackendV2
interface and will be used directly or via theBackendEstimatorV2
andBackendSamplerV2
classes of theprimitives
module.
ShellyGarion
Metadata
Metadata
Assignees
Labels
mod: primitivesRelated to the Primitives moduleRelated to the Primitives modulemod: quantum infoRelated to the Quantum Info module (States & Operators)Related to the Quantum Info module (States & Operators)type: feature requestNew feature or requestNew feature or request