Run Qiskit compiled circuits on

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
Copy
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)
Copy

Aer is a high performance simulator for quantum circuits that includes noise models.

pip install qiskit
pip install qiskit-aer
Copy
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)
Copy

Quantum Hardware

Cloud services that allow users to execute quantum programs in specialized hardware that leverages quantum mechanical phenomena for quantum computation.

AQT provides access to Calcium trapped-ion quantum devices.

pip install qiskit
pip install qiskit-aqt-provider
Copy
from qiskit_aqt_provider import AQTProvider
aqt = AQTProvider('MY_TOKEN')
backend = aqt.get_backend('aqt_innsbruck')
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

IBM Quantum offers both open and premium access to a wide variety of quantum systems. All quantum systems deployed by IBM Quantum are based on superconducting qubit technology, as the control and scalability of this technology pave a clear path to achieving quantum advantage with these systems.

pip install qiskit
pip install qiskit-ibm-provider
Copy
from qiskit_ibm_provider import IBMProvider
# Get the API token in https://quantum-computing.ibm.com/account
provider = IBMProvider(token="MY_IBM_QUANTUM_TOKEN")
backend = provider.get_backend("ibm_nairobi")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

IonQ offers access to Ytterbium trapped-ion quantum computers with high gate fidelity, long coherence time and all-to-all connectivity.

pip install qiskit
pip install qiskit-ionq
Copy
from qiskit_ionq import IonQProvider
provider = IonQProvider("MY_IONQ_TOKEN")
backend = provider.get_backend("ionq_qpu")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

IQM offers access to gate-model based superconducting qubits quantum systems.

pip install qiskit
pip install qiskit-iqm
Copy
from qiskit_iqm import IQMProvider
provider = IQMProvider(iqm_server_url)
backend = provider.get_backend()
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

Quantinuum provides access to Ytterbium trapped-ion systems with high-fidelity, fully connected qubits, and the ability to perform mid-circuit measurement.

pip install qiskit
pip install qiskit-quantinuum-provider
Copy
from qiskit_quantinuum import Quantinuum
Quantinuum.save_account("[email protected]")
backend = Quantinuum.get_backend("deadhead")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

Rigetti offers access to universal, gate-model machines based on tunable superconducting qubits.

pip install qiskit
pip install qiskit-rigetti
Copy
from qiskit_rigetti import RigettiQCSProvider
provider = RigettiQCSProvider()
backend = provider.get_backend("Aspen-11")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

Local Simulators

Software packages that allow users to simulate quantum programs in your local computer.

Aer is a high performance simulator for quantum circuits that includes noise models.

pip install qiskit
pip install qiskit-aer
Copy
from qiskit_aer import AerSimulator
backend = AerSimulator()
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

MQT DDSIM is a quantum circuit simulator based on decision diagrams written in C++.

pip install qiskit
pip install mqt.ddsim
Copy
from mqt import ddsim
provider = ddsim.DDSIMProvider()
backend = provider.get_backend('qasm_simulator')
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

NVIDIA cuStateVec is a high-performance library dedicated to operations with state vectors for expressing quantum algorithms.

pip install qiskit
conda install -c conda-forge custatevec
Copy
from cusvaer.backends import StatevectorSimulator
backend = StatevectorSimulator()
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

QuaC is a parallel time dependent open quantum systems solver.

pip install qiskit
git clone https://github.com/0tt3r/QuaC-qiskit
cd QuaC-qiskit
pip install .
Copy
from quac_qiskit import Quac
backend = Quac.get_backend("fake_vigo_density_simulator")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

Cloud Simulators

Cloud services that allow you to simulate quantum programs in high performance computers.

IBM Quantum features a collection of high-performance simulators for prototyping quantum circuits and algorithms, and exploring their performance under realistic device noise models.

pip install qiskit
pip install qiskit-ibm-provider
Copy
from qiskit_ibm_provider import IBMProvider
# Get the API token in https://quantum-computing.ibm.com/account
provider = IBMProvider(token="MY_IBM_QUANTUM_TOKEN")
backend = provider.get_backend("simulator_statevector")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

The IonQ Quantum Cloud providers 29-qubit cloud simulator.

pip install qiskit
pip install qiskit-ionq
Copy
from qiskit_ionq import IonQProvider
provider = IonQProvider("MY_IONQ_TOKEN")
backend = provider.get_backend("ionq_simulator")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

The Rigetti Quantum Virtual Machine is a wavefunction simulation of unitary evolution with classical control flow and shared quantum classical memory.

pip install qiskit
pip install qiskit-rigetti
Copy
from qiskit_rigetti import RigettiQCSProvider
provider = RigettiQCSProvider()
backend = provider.get_simulator(num_qubits=5, noisy=True)
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

Multi-platforms

Cloud services that allow you to connect with several quantum services from different vendors.

Amazon Braket is a fully managed quantum computing service designed to help speed up scientific research and software development for quantum computing.

pip install qiskit
pip install qiskit_braket_provider
Copy
from qiskit_braket_provider import AWSBraketProvider
provider = AWSBraketProvider()
# QuEra Aquila is a 256-qubit quantum processor based on
# programmable arrays of neutral Rubidium atoms
backend = provider.backends("Aquila")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

Azure Quantum is the cloud quantum computing service of Azure, with a diverse set of quantum solutions and technologies.

pip install qiskit
pip install "azure-quantum[qiskit]"
Copy
from azure.quantum.qiskit import AzureQuantumProvider
provider = AzureQuantumProvider(resource_id="MY_RESOURCE_ID",location="MY_LOCATION")
backend = provider.get_backend("quantinuum.qpu.h1-2")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

Gaqqie is an open-source quantum computer cloud platform.

pip install qiskit
pip install gaqqie-door
Copy
from gaqqie_door import QiskitGaqqie
# rewrite to the endpoint URL of the user API
url = "https://<api-id>.execute-api.<region>.amazonaws.com/<stage>"
QiskitGaqqie.enable_account(url)
backend = QiskitGaqqie.get_backend("qiskit_simulator")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

QC Ware Forge is an unique and efficient turn-key algorithms for data scientists and powerful circuit building blocks for quantum engineers.

pip install qiskit
pip install qiskit-qcware
Copy
from qiskit_qcware import QcwareProvider
provider = QcwareProvider()
backend = provider.get_backend('forge_statevector')
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

Strangeworks is the ultimate collaboration of hardware, software, education, and service providers, working to develop and test quantum and future compute technologies.

pip install qiskit
pip install strangeworks-qiskit
Copy
import strangeworks
from strangeworks_qiskit import StrangeworksProvider
# get your API key from the Strangeworks Portal
strangeworks.authenticate(api_key="your-api-key")
provider = StrangeworksProvider()
# Xanadu Borealis is a photonic quantum computer with a programmable loop-based
# interferometer with over 216 squeezed-state qubits
backend = provider.get_backend("borealis")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

SuperstaQ is a hardware-agnostic software platform that connects applications to quantum computers from IBM Quantum, IonQ, and Rigetti.

pip install qiskit
pip install qiskit-superstaq
Copy
from qiskit_superstaq import SuperstaQProvider
provider = SuperstaQProvider("MY_SUPERSTAQ_TOKEN")
backend = provider.get_backend("aws_sv1_simulator")
# Build circuit
from qiskit import QuantumCircuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0,1)
circuit.measure([0,1], [0,1])
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, backend)
# Run the circuit and get result
job = backend.run(transpiled_circuit)
counts = job.result().get_counts()
print(counts)
Copy

Become a provider

Are you looking to integrate with Qiskit? Become a provider and enable your quantum device or simulator to be used with our SDK. Check out our guides on how to write a new provider, and join our community of providers today to help accelerate the development of quantum computing.

Become a provider