物理单位与脉冲面积¶
了解原子模型后,在设置波形前检查单位。CASCAQit 的坐标使用 µm,时间使用 µs,角频率使用 rad/µs,相位使用弧度。浮点数本身不会自动携带这些物理单位,需要按 API 约定解释。
1 MHz 表示每微秒一个周期,角频率则按弧度计数,因此 Ω [rad/µs] = 2π f [MHz]。混用这两种频率,会让实验参数相差 2π 倍。
"""Convert a cyclic frequency to an angular frequency before choosing a pulse."""
from __future__ import annotations
import json
from math import pi, sin
def experiment() -> dict[str, object]:
frequency_mhz, duration_us = 1.0, 0.5
omega = 2 * pi * frequency_mhz
correct_area = omega * duration_us
mistaken_area = frequency_mhz * duration_us
return {
"frequency_mhz": frequency_mhz,
"omega_rad_per_us": omega,
"duration_us": duration_us,
"pulse_area_rad": correct_area,
"on_resonance_excitation": sin(correct_area / 2) ** 2,
"excitation_if_2pi_is_omitted": sin(mistaken_area / 2) ** 2,
}
if __name__ == "__main__":
print(json.dumps(experiment(), sort_keys=True))
python examples/learning/foundations/physical_units.py
{
"duration_us": 0.5,
"excitation_if_2pi_is_omitted": 0.06120871905481365,
"frequency_mhz": 1.0,
"omega_rad_per_us": 6.283185307179586,
"on_resonance_excitation": 1.0,
"pulse_area_rad": 3.141592653589793
}
对共振驱动的孤立两能级系统,脉冲面积为 Ωt,激发概率为 sin²(Ωt/2)。f = 1 MHz、t = 0.5 µs 时,面积为 π,激发概率为一。如果漏掉 2π,概率会变成约 0.061。这个公式是简单模型的参考,不是任意相互作用阵列的通用预测。
让换算过程看得见¶
先把换算值写入 omega_rad_per_us 这样的变量,再传给 Waveform.constant。不要把多个换算因子隐藏在复杂表达式里。实验记录中也要保存原始量及其单位。
练习:论文写的是 Ω/(2π) = 2 MHz。SDK 的角频率字段应填什么值?在这个驱动下,理想共振 π 脉冲需要多长时间?
答案
Ω = 4π rad/µs,π 脉冲的时长为 π/Ω = 0.25 µs。阅读来源时先确认写的是 Ω 还是 Ω/(2π),仅看符号不够。Target 还可能限制幅度或时长,因此物理计算不能代替程序校验。
下一课:噪声、采样与数值精度。SDK 的单位统一在物理约定中查询。