qalgora-Q Docs Hub量子文档 ✦ Ask AI✦ 问问文档

Neutral-Atom QPUs — the Analog Quantum-Computing Mode

○ Planned · Not yet implemented
The capabilities described on this page are planned and not yet implemented or released. They explain future design directions and should not be interpreted as delivered features.

Neutral-atom machines are programmed in analog mode — analog quantum computation, a real computational mode in which a time-dependent Rydberg Hamiltonian drives the atoms; it is not a classical software simulator. Instead of a gate list you specify that Hamiltonian and let the atoms evolve under it. The gate-based sample/observe entry points do not apply here — you describe the evolution instead.

The analog model

You place atoms at sites in a register, then drive them with a global laser described by three controls — Rabi amplitude Ω, phase φ, and detuning δ — each a function of time supplied by a schedule. Nearby atoms interact through the Rydberg blockade, which is what makes the dynamics non-trivial.

import qalgora

# Conceptual API only; not in the open reference implementation.
# Analog neutral-atom mode is a planned/spec interface.
# program = qalgora.analog.RydbergProgram(
#     atom_sites=register,          # QuEra Aquila — up to 256 atoms
#     amplitude=omega,
#     phase=phi,
#     detuning=delta,
#     schedule=schedule)
# result = qalgora.analog.evolve(program, target="quera")
Specification API — not in the open reference build yet
This example shows a qalgora-Q specification API (or a third-party library) that the open reference build does not bundle today. It documents the intended interface; to run code now, use the reference build’s supported core API.

Available targets

TargetMachineNotes
queraAquilaUp to 256 atoms; AWS Braket credentials; defaults to 100 shots.
pasqalFRESNEL / EMU_MPS / EMU_FREECloud SDK token; auto-calibration under ~30 qubits.
infleqtioncq_sqale_qpuVia Superstaq; method="dry-run" or "noise-sim".

Credentials

Each vendor authenticates differently. Pasqal, for example, exchanges your login for a short-lived token that the target reads from the environment:

from pasqal_cloud import SDK
import os

sdk = SDK(username=os.environ.get("PASQAL_USERNAME"),
          password=os.environ.get("PASQAL_PASSWORD"))
token = sdk.user_token()

os.environ["PASQAL_AUTH_TOKEN"] = str(token)
os.environ["PASQAL_PROJECT_ID"] = "your project id"

# Planned remote target — not runnable in the reference build:
# qalgora.set_target("pasqal", machine="FRESNEL")
Specification API — not in the open reference build yet
This example shows a qalgora-Q specification API (or a third-party library) that the open reference build does not bundle today. It documents the intended interface; to run code now, use the reference build’s supported core API.
Analog, not gate-based
Calling qalgora.sample(kernel) against a neutral-atom target will not work — these devices evolve a Hamiltonian, so build a conceptual qalgora.analog.RydbergProgram + schedule and call qalgora.analog.evolve. (Conceptual API only; not in the open reference implementation.)

中性原子 QPU 的模拟量子计算模式

○ 规划中
本页所述能力属于规划功能,当前尚未发布或尚未实现。相关内容仅用于说明未来设计方向,不应理解为已交付能力。

中性原子设备采用模拟(analog)模式编程——这是一种真实的 量子计算模式,由随时间变化的里德堡哈密顿量驱动原子演化,并非经典计算机的软件模拟。 你无需给出门序列,而是指定该哈密顿量,让原子在其作用下演化。基于门的 sample/observe 入口在此并不适用——你应改为描述演化过程。

模拟模型

你先将原子放置到寄存器中的各个位点,再用一束全局激光驱动它们,该激光由三个 控制量描述——拉比幅度 Ω、相位 φ 和失谐 δ——每个量都是随时间变化的函数,由 schedule 提供。相邻原子通过里德堡阻塞相互作用,这正是动力学变得 不平凡的根源。

import qalgora

# 仅为概念性 API 开放参考实现尚未包含。
# 中性原子模拟模式属规划/规范接口。
# program = qalgora.analog.RydbergProgram(
#     atom_sites=register,          # QuEra Aquila — 最多 256 个原子
#     amplitude=omega,
#     phase=phi,
#     detuning=delta,
#     schedule=schedule)
# result = qalgora.analog.evolve(program, target="quera")
规范接口 · 参考实现暂未包含
此示例展示的是 qalgora-Q 规范中的接口(或第三方库),开放参考实现目前尚未内置,仅用于说明预期用法;如需立即运行,请使用参考实现已支持的核心 API。

可用目标

目标设备说明
queraAquila最多 256 个原子;使用 AWS Braket 凭据;默认 100 次采样。
pasqalFRESNEL / EMU_MPS / EMU_FREE使用云端 SDK 令牌;30 量子比特以下自动校准。
infleqtioncq_sqale_qpu经由 Superstaq 接入;method="dry-run""noise-sim"

凭据

各厂商的鉴权方式各不相同。以 Pasqal 为例,它会用你的登录信息换取一个短时效 令牌,目标从环境变量中读取该令牌:

from pasqal_cloud import SDK
import os

sdk = SDK(username=os.environ.get("PASQAL_USERNAME"),
          password=os.environ.get("PASQAL_PASSWORD"))
token = sdk.user_token()

os.environ["PASQAL_AUTH_TOKEN"] = str(token)
os.environ["PASQAL_PROJECT_ID"] = "your project id"

# 规划中的远程目标 参考实现不可运行:
# qalgora.set_target("pasqal", machine="FRESNEL")
规范接口 · 参考实现暂未包含
此示例展示的是 qalgora-Q 规范中的接口(或第三方库),开放参考实现目前尚未内置,仅用于说明预期用法;如需立即运行,请使用参考实现已支持的核心 API。
模拟模式而非门模式
对中性原子目标调用 qalgora.sample(kernel) 是无效的——这类设备 演化的是哈密顿量,因此应构建概念性的 qalgora.analog.RydbergProgram + schedule 并调用 qalgora.analog.evolve。(仅为概念性 API,开放参考实现尚未包含。)