Quantum Hardware (QPUs)
qalgora-Q documents the major hardware modalities and their intended target interfaces. The open reference build runs locally and does not natively connect to or submit to physical QPUs; real execution requires the corresponding vendor SDK, a cloud platform, or an adaptation plugin.
Modalities
| Modality | Strengths | Providers |
|---|---|---|
| Ion trap | All-to-all connectivity, high fidelity | IonQ, Quantinuum |
| Superconducting | Fast gates, fixed coupling map | IBM, Google, Rigetti, IQM, Origin, Tianyan |
| Neutral atom | Large atom arrays, analog mode | QuEra, Pasqal |
| Photonic | Sampling / photonic tasks | Jiuzhang, TuringQ, ORCA |
Neutral-atom (analog mode) and photonic (sampling) devices are not equivalent to the ordinary gate model — they run a different computational model and are not drop-in gate-circuit targets.
What differs between devices
| Property | Why it matters |
|---|---|
| Native gate set | Your gates are transpiled into the device's basis (e.g. ion traps favor MS/Rz, superconducting CZ/√X) |
| Connectivity | All-to-all (ion trap) needs no routing; a fixed coupling map (superconducting) inserts SWAPs |
| Coherence & fidelity | Sets how deep a circuit stays meaningful before noise dominates |
| Mid-circuit measurement | Required for error correction and adaptive circuits — strong on ion traps |
Targeting a device
Pick the target by name; the device-specific machine id selects the exact processor. Credentials come from environment variables, and jobs queue remotely — use the async API.
import qalgora
# Planned remote submission — not runnable in the CPU-only reference build:
# export the provider token first, e.g. QALGORA_QUANTINUUM_TOKEN
# qalgora.set_target("quantinuum", machine="H2-1")
# job = qalgora.sample_async(bell, shots_count=2000) # queued remotely
# print(job.status())
# counts = job.get()Provider targets
| Modality | Provider · example target | Notes |
|---|---|---|
| Ion trap | IonQ "ionq", Quantinuum "quantinuum" | All-to-all, high 2-qubit fidelity |
| Superconducting | IQM "iqm", OQC, QCI, Anyon, Rigetti (via broker) | Fast gates, fixed coupling map |
| Neutral atom | Pasqal "pasqal", QuEra "quera", Infleqtion | Hundreds of atoms, analog modes |
| Photonic | ORCA "orca" | Room-temperature, GBS workloads |
Beyond QPUs, quantum control systems such as Quantum Machines (OPX) are addressed through the real-time stack rather than as a sampling target — qalgora-Q dispatches pulses and reads measurements inside the coherence window for feedback and error-correction loops.
Checking what a target supports
target = qalgora.get_target()
print(target.num_qubits, target.native_gates, target.connectivity)In the current reference build, hardware target names do not imply native submission. Use vendor SDKs or cloud workflows for actual QPU execution.
量子硬件(QPU)
qalgora-Q 记录的是各主流技术路线及其预期的目标后端接口;开放参考实现在本地运行,不会原生连接或提交物理 QPU,真机执行需相应厂商 SDK 云平台或适配插件。
技术路线
| 技术路线 | 优势 | 服务商 |
|---|---|---|
| 离子阱 | 全连接,高保真度 | IonQ, Quantinuum |
| 超导 | 门速快,固定耦合图 | IBM, Google, Rigetti, IQM, 本源(Origin), 天衍(Tianyan) |
| 中性原子 | 大规模原子阵列,模拟(analog)模式 | QuEra, Pasqal |
| 光子 | 采样 / 光子任务 | 九章(Jiuzhang), 图灵量子(TuringQ), ORCA |
中性原子(模拟模式)与光子(采样)设备并不等同于常规门模型——它们运行的是另一种计算模型,并非可直接替换的门线路目标。
设备间的差异
| 属性 | 重要性说明 |
|---|---|
| 原生门集合 | 你的门操作会被转译为设备的基门(例如离子阱偏好 MS/Rz,超导偏好 CZ/√X) |
| 连通性 | 全连接(离子阱)无需布线;固定耦合图(超导)则需插入 SWAP |
| 相干性与保真度 | 决定线路在噪声主导前能保持有效的深度上限 |
| 线路中测量 | 纠错与自适应线路的必备能力——离子阱在此方面表现突出 |
指定目标设备
通过名称选择目标后端,机器标识用于指定具体处理器。凭据从环境变量中读取,任务远程排队执行——请使用异步 API。
import qalgora
# 规划中的远程提交 当前 CPU-only 参考实现不可运行:
# export the provider token first, e.g. QALGORA_QUANTINUUM_TOKEN
# qalgora.set_target("quantinuum", machine="H2-1")
# job = qalgora.sample_async(bell, shots_count=2000) # queued remotely
# print(job.status())
# counts = job.get()服务商目标后端
| 技术路线 | 服务商 · 示例目标后端 | 备注 |
|---|---|---|
| 离子阱 | IonQ "ionq", Quantinuum "quantinuum" | 全连接,双比特保真度高 |
| 超导 | IQM "iqm", OQC, QCI, Anyon, Rigetti(经由 broker) | 门速快,固定耦合图 |
| 中性原子 | Pasqal "pasqal", QuEra "quera", Infleqtion | 支持数百原子,具备模拟模式 |
| 光子 | ORCA "orca" | 室温运行,适合 GBS 负载 |
除 QPU 之外,量子控制系统(如 Quantum Machines OPX)是通过实时栈来对接的,而非作为采样目标后端——qalgora-Q 在相干窗口内下发脉冲并读取测量结果,用于反馈控制与纠错回路。
查询目标后端能力
target = qalgora.get_target()
print(target.num_qubits, target.native_gates, target.connectivity)