Qiskit Aer
免费本地最多 30+ 量子比特IBM 的高性能量子电路模拟器。Aer 包含多种模拟方法:态矢量、稳定子、密度矩阵、MPS 以及扩展稳定子。可通过 AerCuda 使用 GPU 加速。
pip install qiskit-aer # CPU
pip install qiskit-aer-gpu # GPU (CUDA)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 个量子比特,而 Statevector 模拟器可处理大型电路。注册一个免费的 IBM Quantum 账户即可使用。
pip install qiskit
pip install qiskit-ibm-runtimefrom 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 可高效处理稳定子电路。
pip install cirqimport 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 研究。使用 lightning.qubit 可获得 C++ 加速,使用 lightning.gpu 可获得 NVIDIA GPU 加速。它们都是免费、本地且可微分的。
pip install pennylane # default.qubit
pip install pennylane-lightning # lightning.qubit (C++)
pip install pennylane-lightning-gpu # GPUimport 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多 GPUNVIDIA 的开源量子计算平台。CUDA-Q 提供 GPU 加速模拟,处理 30+ 量子比特电路的速度比 CPU 模拟器快数个数量级。可在任何 NVIDIA GPU 上免费本地运行。
pip install cudaq # Requires CUDA-capable GPU
# Or use Docker: nvcr.io/nvidia/nightly/cuda-quantumimport 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 / TN1AWS Braket 提供三种托管云端模拟器:SV1(态矢量,最多 34 量子比特)、DM1(密度矩阵,最多 17 量子比特)和 TN1(张量网络,最多 50 量子比特)。本地模拟器完全免费;云端模拟器费用约为每任务 $0.075 加计算费用。
pip install amazon-braket-sdkfrom 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 编写一个电路,便可通过一个标志在 Qiskit Aer、Cirq、PennyLane、CUDA-Q 等之间自由切换。
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