Native Primitives
Services or software packages that provide native support to Qiskit Primitives. Qiskit Primitives provide a set of interfaces for performing operations such as sampling (Sampler) and estimating (Estimator) that forms the fundamental building blocks of quantum algorithm development.
Qiskit Runtime is a quantum computing service and programming model that allows users to optimize workloads and efficiently execute them on quantum systems at scale. The programming model extends the existing interface in Qiskit with a set of new primitive programs.
pip install qiskit
pip install qiskit-ibm-runtime
from qiskit_ibm_runtime import QiskitRuntimeService, Sampler
# Get the API token in https://quantum-computing.ibm.com/account
service = QiskitRuntimeService(channel="ibm_quantum", token="MY_IBM_QUANTUM_TOKEN")
backend = service.backend("ibm_perth")
sampler = Sampler(session=backend)
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Run the circuit and get result distribution
job = sampler.run(circuit)
quasi_dist = job.result().quasi_dists[0]
print(quasi_dist)
Aer is a high performance simulator for quantum circuits that includes noise models.
pip install qiskit
pip install qiskit-aer
from qiskit_aer.primitives import Sampler
sampler = Sampler()
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Run the circuit and get result distribution
job = sampler.run(circuit)
quasi_dist = job.result().quasi_dists[0]
print(quasi_dist)