Was ist das IonQ SDK?
qiskit-ionq ist IonQs offizieller Qiskit-Provider — damit baust du Schaltkreise mit Standard-Qiskit-Syntax und führst sie direkt in IonQs Quantum Cloud aus, ohne AWS- oder Azure-Konto. Der ideale (rauschfreie) Simulator ist kostenlos. Ein rauschmodellierter Simulator bildet das Verhalten echter Hardware nach. Echte QPU-Shots werden pro Shot abgerechnet.
IonQ-Hardware ist auch erreichbar über Amazon Braket und Azure Quantum, falls du bereits eine dieser Plattformen nutzt.
Installation & Einrichtung
pip install qiskit-ionq
# Get a free API key at cloud.ionq.com (new accounts include trial credits)
export IONQ_API_KEY=your_api_keyKostenloser Cloud-Simulator
Das Backend ionq_simulator ist ein rauschfreier Statevector-Simulator, gehostet von IonQ. Es ist kostenlos nutzbar und braucht nur einen API-Schlüssel — kein AWS- oder Azure-Konto, keine lokale Rechenleistung.
from qiskit import QuantumCircuit
from qiskit_ionq import IonQProvider
provider = IonQProvider() # reads IONQ_API_KEY from the environment
# Free, noiseless (ideal) simulator
backend = provider.get_backend("ionq_simulator")
# Build a Bell state circuit
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
job = backend.run(qc, shots=1000)
print(job.get_counts()) # {'00': ~500, '11': ~500}Rauschmodellierte Simulation
Bevor du Shots auf echter Hardware verbrauchst, führe denselben Schaltkreis mit einem Rauschmodell aus, das ein bestimmtes IonQ-System nachbildet. Es läuft weiterhin auf dem kostenlosen Simulator-Backend, sodass du Fehlerkorrektur-Strategien ohne Kosten testen kannst.
from qiskit import QuantumCircuit
from qiskit_ionq import IonQProvider
provider = IonQProvider()
backend = provider.get_backend("ionq_simulator")
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
# Model the noise profile of a real IonQ system on the free simulator
job = backend.run(qc, shots=1000, noise_model="aria-1")
print(job.get_counts())Echte QPU-Hardware
IonQs Ionenfallen-Systeme bieten eine hohe Gate-Fidelity und All-to-all-Qubit-Konnektivität, sodass Schaltkreise weniger SWAP-lastiges Routing brauchen als auf gitterverbundener Hardware. Echter QPU-Zugriff wird pro Shot abgerechnet — prüfe dein Shot-Budget und IonQs aktuelle Preise, bevor du einen großen Job einreichst.
from qiskit import QuantumCircuit
from qiskit_ionq import IonQProvider
provider = IonQProvider()
# Aria: 25 algorithmic qubits, trapped-ion, all-to-all connectivity
aria = provider.get_backend("ionq_qpu.aria-1")
# Forte: newer generation, higher fidelity
forte = provider.get_backend("ionq_qpu.forte-1")
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])
# Check current queue and calibration data before submitting
print(aria.calibration())
# Submit (real QPU shots are billed per-shot — check cloud.ionq.com/pricing)
job = aria.run(qc, shots=100)
print(job.get_counts())Keep exploring
Also available via HLQuantum
Want to run the same circuit on multiple backends without rewriting your code? HLQuantum abstracts this SDK (and 5 others) behind a single unified API.
import hlquantum as hlq
qc = hlq.Circuit(2)
qc.h(0).cx(0, 1).measure_all()
# One line to switch between any backend
result = hlq.run(qc, shots=1024) # auto-detect
result = hlq.run(qc, shots=1024, backend="ionq") # explicit