IonQ
Acceso directo a los ordenadores cuánticos de iones atrapados de IonQ a través del proveedor oficial de Qiskit. Simulador de nube sin ruido gratuito, simulación con modelo de ruido y acceso por disparo a las QPU reales Aria y Forte.
¿Qué es el SDK de IonQ?
qiskit-ionq es el proveedor oficial de Qiskit de IonQ: te permite construir circuitos con la sintaxis estándar de Qiskit y ejecutarlos directamente en la Quantum Cloud de IonQ, sin necesidad de una cuenta de AWS o Azure. El simulador ideal (sin ruido) es gratuito. Un simulador con modelo de ruido imita el comportamiento del hardware real. Los disparos en QPU real se facturan por disparo.
El hardware de IonQ también es accesible a través de Amazon Braket y Azure Quantum, si ya usas una de esas plataformas.
Instalación y configuración
pip install qiskit-ionq
# Get a free API key at cloud.ionq.com (new accounts include trial credits)
export IONQ_API_KEY=your_api_keySimulador de nube gratuito
El backend ionq_simulator es un simulador de vector de estado sin ruido alojado por IonQ. Es gratuito y solo necesita una clave API, sin cuenta de AWS o Azure, sin cómputo local.
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}Simulación con modelo de ruido
Antes de gastar disparos en hardware real, ejecuta el mismo circuito con un modelo de ruido que imita un sistema IonQ concreto. Se mantiene en el backend del simulador gratuito, así que puedes validar estrategias de mitigación de errores sin coste alguno.
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())Hardware de QPU real
Los sistemas de iones atrapados de IonQ ofrecen una fidelidad de puerta destacada y conectividad de qubits todos-con-todos, por lo que los circuitos necesitan menos enrutamiento con SWAP que en hardware conectado en cuadrícula. El acceso a QPU real se factura por disparo: revisa tu presupuesto de disparos y los precios actuales de IonQ antes de enviar un trabajo grande.
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