跳转至

LocalAhsSimulator

from cascaqit import LocalAhsSimulator

LocalAhsSimulator

LocalAhsSimulator(
    target: TargetSpec | None = None,
    seed: int | None = None,
    time_steps: int = 400,
    created_at: str | None = None,
)

小规模 AHS 参考模拟器,使用状态向量和固定步长 RK4 演化。当前内核最多支持 4 个活动原子,即使目标规格允许更多原子,也不能据此扩大此入口的规模。time_steps 默认 400;应增大步数检查收敛,采样次数不能替代这一步。

target=None 时,全局控制使用保守模拟目标;含局部失谐或局部 Rabi 控制时选用 local_ahs 目标。seed 控制采样,created_at 可固定结果时间。目标只用于本地约束校验。

from cascaqit import AHSProgram, AtomRegister, LocalAhsSimulator, Waveform

program = AHSProgram(AtomRegister.line(count=1, spacing=5.0))
program.drive(rabi=Waveform.constant(0.0, duration=1.0),
              detuning=Waveform.constant(0.0, duration=1.0),
              phase=Waveform.constant(0.0, duration=1.0, value_unit="rad"))
program.measure()
result = LocalAhsSimulator(seed=7).run(program, shots=32)
assert result.counts == {"0": 32}

较大的资源规划任务使用 LocalBackend。

run

run(
    program: ProgramIR | _ProgramLike | _BuilderLike,
    *,
    shots: int = 1000,
    config: SimulatorConfigIR | None = None,
) -> ResultIR

同步接受 ProgramIR 或可导出程序的包装器/构建器,返回 ResultIR。先校验目标约束,再演化与采样。提供 config 时使用完整的 SimulatorConfigIR,不再采用 shots 与构造 seed 的默认值。shots=0 返回无采样计数的结果。目标校验失败会返回错误诊断与空结果;导出失败、算法选择或内核规模限制也可能抛异常。