

Open-Source Quantum Development
Qiskit [kiss-kit] is an open-source SDK for working with quantum computers at the level of pulses, circuits, and application modules.

Qiskit includes a comprehensive set of quantum gates and a variety of pre-built circuits so users at all levels can use Qiskit for research and application development.
Learn moreThe transpiler translates Qiskit code into an optimized circuit using a backend’s native gate set, allowing users to program for any quantum processor. Users can transpile with Qiskit's default optimization, use a custom configuration or develop their own plugin.
Learn moreQiskit helps users schedule and run quantum programs on a variety of local simulators and cloud-based quantum processors. It supports several quantum hardware designs, such as superconducting qubits and trapped ions.
Learn moreReady to explore Qiskit’s capabilities for yourself? Learn how to run Qiskit in the cloud or your local Python environment.
Learn moreYou can use Qiskit to construct quantum programs and run them on simulators or real quantum computers. With our extensive network of providers you can compile your Qiskit code for a huge range of different backends, more than any other quantum framework!
Select a provider below and explore code examples of how to use it with Qiskit:
pip install qiskit
# Build circuit
from qiskit.circuit.library import QuantumVolume
circuit = QuantumVolume(5)
# Transpile circuit
from qiskit import transpile
transpiled_circuit = transpile(circuit, basis_gates=['sx', 'rz', 'cx'])
transpiled_circuit.draw()
from qiskit.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)
from qiskit.primitives import Estimator
estimator = Estimator()
# Express hydrogen molecule Hamiltonian as an operator
from qiskit.quantum_info import SparsePauliOp
H2_operator = SparsePauliOp.from_list([
("II", -1.052373245772859),
("IZ", 0.39793742484318045),
("ZI", -0.39793742484318045),
("ZZ", -0.01128010425623538),
("XX", 0.18093119978423156)
])
# Calculate ground state energy using VQE
from qiskit.circuit.library import TwoLocal
from qiskit.algorithms.optimizers import SLSQP
from qiskit.algorithms.minimum_eigensolvers import VQE
ansatz = TwoLocal(num_qubits=2, rotation_blocks="ry", entanglement_blocks="cz")
optimizer = SLSQP(maxiter=100)
vqe = VQE(estimator, ansatz, optimizer)
result = vqe.compute_minimum_eigenvalue(operator=H2_operator)
print(result.eigenvalue)
Gain access to a free, digital textbook to study the concepts of quantum computing using Qiskit.
Get learning