Skip to content
🔷

IonQ

公式 Qiskit プロバイダーを通じて IonQ のトラップイオン量子コンピュータに直接アクセス。無料のノイズなしクラウドシミュレーター、ノイズモデル化シミュレーション、実機 Aria・Forte QPU へのショット課金アクセス。

Qiskit プロバイダー無料シミュレーター実機 QPUトラップイオン

IonQ SDK とは?

qiskit-ionq は IonQ の公式 Qiskit プロバイダーです。標準の Qiskit 構文で回路を構築し、AWS や Azure のアカウントなしで IonQ の Quantum Cloud に直接実行できます。理想(ノイズなし)シミュレーターは無料です。ノイズモデル化シミュレーターは実機の挙動を再現します。実機 QPU のショットはショットごとに課金されます。

理想シミュレーター
ノイズなし、クラウドホスト
無料
ノイズシミュレーター
実機のノイズを再現
無料
実機 QPU
Aria、Forte ハードウェア
ショット課金

すでに Amazon Braket や Azure Quantum を使っている場合、それらのプラットフォーム経由でも IonQ ハードウェアにアクセスできます。

インストールとセットアップ

terminal
pip install qiskit-ionq

# Get a free API key at cloud.ionq.com (new accounts include trial credits)
export IONQ_API_KEY=your_api_key

無料クラウドシミュレーター

バックエンド ionq_simulator は IonQ がホストするノイズなしの状態ベクトルシミュレーターです。無料で利用でき、API キーだけで動作します — AWS や Azure のアカウントもローカルの計算資源も不要です。

ionq_simulator.py
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}

ノイズモデル化シミュレーション

実機でショットを消費する前に、特定の IonQ システムを再現するノイズモデルで同じ回路を実行してみましょう。無料のシミュレーターバックエンド上で完結するため、エラー緩和戦略を無料で検証できます。

ionq_noisy_sim.py
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())

実機 QPU ハードウェア

IonQ のトラップイオン方式は高い フィデリティ のゲートと全対全の量子ビット接続性を提供するため、格子接続のハードウェアに比べて SWAP を多用するルーティングが少なく済みます。実機 QPU アクセスはショットごとに課金されます — 大きなジョブを送信する前に、 ショット予算 と IonQ の現在の料金を確認してください。

ionq_hardware.py
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.

python
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