ホーム/シミュレーター

無料の量子シミュレーター

強力なシミュレーターで量子回路を実行しましょう — お使いのマシン上でローカルに、あるいはクラウドで。以下のオプションはすべて完全に無料です。

すべて無料ローカル & クラウドGPUアクセラレーション対応(一部)

Qiskit Aer

無料ローカル最大30以上の量子ビット

IBMの高性能量子回路シミュレーター。Aerは複数のシミュレーション手法(状態ベクトル、スタビライザー、密度行列、MPS、拡張スタビライザー)を備えています。AerCudaによるGPUアクセラレーションも利用可能です。

最大量子ビット数
30以上(状態ベクトル)
バックエンド
CPU / GPU
コスト
無料
プラットフォーム
ローカル
bash
pip install qiskit-aer        # CPU
pip install qiskit-aer-gpu    # GPU (CUDA)
python
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])

sim = AerSimulator()
job = sim.run(qc, shots=1000)
result = job.result()
print(result.get_counts())  # {'00': 501, '11': 499}
☁️

IBM Quantum(クラウドシミュレーター)

無料クラウド最大5000量子ビット

IBM Quantum Platformは無料のクラウドホスト型シミュレーターを提供します。ibmq_qasm_simulatorは最大32量子ビットをシミュレートでき、状態ベクトルシミュレーターは大規模回路を扱えます。無料のIBM Quantumアカウントに登録してください。

最大量子ビット数
5000(MPSモード)
バックエンド
IBM Cloud
コスト
無料プラン
アカウント
必須
bash
pip install qiskit
pip install qiskit-ibm-runtime
python
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import SamplerV2 as Sampler

# Free IBM Quantum account needed
service = QiskitRuntimeService(channel="ibm_quantum")
backend = service.least_busy(simulator=True)

sampler = Sampler(mode=backend)
job = sampler.run([qc])
result = job.result()
🔵

Google Cirq(シミュレーター)

無料ローカル状態ベクトル

Cirqの組み込みSimulatorは、ローカルで厳密な状態ベクトルシミュレーションと密度行列シミュレーションを提供します。cirq.Simulatorとcirq.DensityMatrixSimulatorは使いやすく、cirq.CliffordSimulatorはスタビライザー回路を効率的に処理します。

最大量子ビット数
約25(状態ベクトル)
バックエンド
CPU(NumPy)
コスト
無料
プラットフォーム
ローカル
bash
pip install cirq
python
import cirq

q0, q1 = cirq.LineQubit.range(2)
circuit = cirq.Circuit(
    cirq.H(q0),
    cirq.CNOT(q0, q1),
    cirq.measure(q0, q1, key='result')
)

sim = cirq.Simulator()
result = sim.run(circuit, repetitions=1000)
print(result.histogram(key='result'))
🪙

PennyLane(default.qubit)

無料ローカルJAX/PyTorch微分可能

PennyLaneのdefault.qubitは純粋なNumPyシミュレーターで、量子ML研究に最適です。C++アクセラレーションにはlightning.qubitを、NVIDIA GPUアクセラレーションにはlightning.gpuを使用します。いずれも無料、ローカル、そして微分可能です。

最大量子ビット数
20以上(default.qubit)
バックエンド
NumPy / C++ / GPU
コスト
無料
プラットフォーム
ローカル
bash
pip install pennylane              # default.qubit
pip install pennylane-lightning     # lightning.qubit (C++)
pip install pennylane-lightning-gpu  # GPU
python
import pennylane as qml
import numpy as np

dev = qml.device("default.qubit", wires=2)
# For GPU: qml.device("lightning.gpu", wires=2)

@qml.qnode(dev)
def bell_state():
    qml.Hadamard(wires=0)
    qml.CNOT(wires=[0, 1])
    return qml.probs(wires=[0, 1])

print(bell_state())  # [0.5, 0., 0., 0.5]
🟢

NVIDIA CUDA-Q

無料GPUCPUマルチGPU

NVIDIAのオープンソース量子コンピューティングプラットフォーム。CUDA-QはGPUアクセラレーションによるシミュレーションを提供し、30量子ビット以上の回路をCPUシミュレーターより桁違いに高速に処理できます。あらゆるNVIDIA GPU上でローカルに無料で実行できます。

最大量子ビット数
34以上(シングルGPU)
バックエンド
NVIDIA GPU
コスト
無料(オープンソース)
高速化
CPU比100〜10000倍
bash
pip install cudaq  # Requires CUDA-capable GPU
# Or use Docker: nvcr.io/nvidia/nightly/cuda-quantum
python
import cudaq

@cudaq.kernel
def bell_state():
    qvec = cudaq.qvector(2)
    h(qvec[0])
    cx(qvec[0], qvec[1])
    mz(qvec)

counts = cudaq.sample(bell_state, shots_count=1000)
print(counts)  # { 00:507 11:493 }
🟠

Amazon Braket(クラウドシミュレーター)

無料クラウドSV1 / DM1 / TN1

AWS Braketは3つのマネージドクラウドシミュレーターを提供します:SV1(状態ベクトル、最大34量子ビット)、DM1(密度行列、最大17量子ビット)、TN1(テンソルネットワーク、最大50量子ビット)。ローカルシミュレーターは完全に無料で、クラウドシミュレーターは約$0.075/タスク+コンピューティング料金がかかります。

SV1 最大量子ビット数
34
TN1 最大量子ビット数
50
ローカルシミュレーション
無料(無制限)
クラウドシミュレーション
約$0.075/タスク
bash
pip install amazon-braket-sdk
python
from braket.circuits import Circuit
from braket.devices import LocalSimulator

# Completely free local simulator
device = LocalSimulator()

circuit = Circuit().h(0).cnot(0, 1)
task = device.run(circuit, shots=1000)
result = task.result()
print(result.measurement_counts)
💡

HLQuantumを使ってあらゆるシミュレーターをターゲットに

各SDKのシミュレーターAPIを個別に学ぶ代わりに、HLQuantumを使えば回路を一度書くだけで、フラグ1つでQiskit Aer、Cirq、PennyLane、CUDA-Qなどを切り替えられます。

python
hlq.run(qc, backend="qiskit") # Qiskit Aer hlq.run(qc, backend="cirq") # Cirq simulator hlq.run(qc, backend="cudaq") # NVIDIA GPU sim hlq.run(qc, backend="pennylane") # Lightning.qubit