VOLUME III · Program semantics
量子 while 程序:语法与执行规则
Quantum While Programs: Syntax and Execution
从正式语法、部分密度算子和一步执行关系推导初始化、测量分支、循环与终止概率。
概念导览约 10 分钟阅读
本页采用有限维量子寄存器上的顺序语言,约定测量结果用于经典控制,不额外返回经典存储。它是 Chapter 5 所讨论语言的一个有限维表述;无限维整数变量需要另外说明算子与收敛条件。语法、初始化和一步规则对应定义 5.1–5.4、图 5.1;循环展开对应命题 5.2。
状态、寄存器与程序语法
寄存器 q 对应 Hilbert 空间 Hq;多个寄存器的空间取张量积。输入用部分密度算子表示:ρ⪰0、tr(ρ)≤1。迹记录该执行分支的概率质量,不在每次测量后重新归一化。一个有限维核心语言是
S::=skip∣q:=0∣qˉ:=U[qˉ]∣S1;S2∣if (□m M[qˉ]=m→Sm) fi∣while M[qˉ]=1 do S od.
U 是作用在列出的寄存器上的酉算子。case 使用一次测量 {Mm},满足 ∑mMm†Mm=I;它不是逐个求值的一组布尔 guard,也不要求这些算子是互相正交的投影。while 使用二结果测量 {M0,M1},0 表示退出,1 表示继续。所有局部算子隐含对其他寄存器的恒等扩展。
初始化并不是把任意量子态复制成零
q:=0 丢弃寄存器 q 原有信息并准备 ∣0⟩。在 q 的正交基 {∣i⟩} 下定义 Ai=∣0⟩⟨i∣⊗Irest,则
Rq(ρ)=i∑AiρAi†=∣0⟩⟨0∣q⊗trq(ρ).
最后一种写法采用 q 在前的张量次序。初始化可能破坏原有纠缠,但保持其他寄存器的约化态;它是保持迹的完全正映射,通常不是酉操作。
一步操作语义
配置写为 ⟨S,ρ⟩,终止标记为 ↓。以下关系的每条测量分支都携带未归一化状态;分支权重已经包含在迹中,不再额外乘一次概率。
⟨skip,ρ⟩→⟨↓,ρ⟩,⟨q:=0,ρ⟩→⟨↓,Rq(ρ)⟩.
⟨qˉ:=U[qˉ],ρ⟩→⟨↓,UρU†⟩.
顺序组合的两条提升规则是
⟨S1;S2,ρ⟩→⟨S1′;S2,ρ′⟩⟨S1,ρ⟩→⟨S1′,ρ′⟩,⟨S1;S2,ρ⟩→⟨S2,ρ′⟩⟨S1,ρ⟩→⟨↓,ρ′⟩.
第一条的 S1′ 是剩余命令而非终止标记;这并不意味着该命令会发散。case 对每个结果 m 有
⟨if (□mM=m→Sm) fi,ρ⟩→⟨Sm,MmρMm†⟩.
令 W 表示循环,则退出和继续规则分别为
⟨W,ρ⟩→⟨↓,M0ρM0†⟩,⟨W,ρ⟩→⟨S;W,M1ρM1†⟩.
若不同路径到达相同终止配置,汇总时仍须按路径计重,不能用集合去重而丢失概率。
从执行树到指称映射
记 Em(ρ)=MmρMm†、B=[[S]]。基本指称满足
[[S1;S2]]=[[S2]]∘[[S1]],[[if]]=m∑[[Sm]]∘Em.
循环恰好完成 n 次 body 后退出的贡献为 E0∘(B∘E1)n,故
[[W]](ρ)=n=0∑∞E0((B∘E1)n(ρ)).
其有限部分和单调递增且迹不超过输入迹,因此在有限维中收敛。令 F0=0、Fk+1=E0+Fk∘B∘E1,极限是方程 F=E0+F∘B∘E1 的最小解。零映射是永不终止程序的语义,不是“立即正常返回”。
对归一化输入,tr([[S]](ρ)) 是最终终止概率;缺失质量是发散概率,包括 body 自身可能发散的情形。概率 1 终止不意味着存在统一的有限步数上界。
例子:测量后翻转并再次检测
取计算基测量 Mi=∣i⟩⟨i∣,body 为 X。结果 0 立即退出,结果 1 经 X 变为零态,下一轮必退出。因此
[[W]](ρ)=M0ρM0+M0XM1ρM1X†M0=tr(ρ)∣0⟩⟨0∣.
它对所有输入概率 1 终止。若把 body 改为 skip,输入 ∣1⟩ 永远不退出;其指称是零,而输入 ∣0⟩ 会立即退出。
教材中的无限维整数变量
类型定义见书页 64,初始化与操作规则见书页 67 的图 5.1。教材同时允许 Boolean 类型 H2 和 integer 类型 H∞;后者以 {∣n⟩:n∈Z} 为计算基,可写为 ℓ2(Z)。量子寄存器是有限个不同变量组成的序列,因此有限个寄存器也可能具有无限维状态空间。
整数变量初始化的原文规则是
Rq(ρ)=n=−∞∑∞(∣0⟩q⟨n∣⊗I)ρ(∣n⟩q⟨0∣⊗I).
这里输入是正的迹类算子。有限部分和是正算子且迹有界,可按迹范数解释其收敛;不能当作任意无界矩阵的形式级数。对偶断言是有界 effect,局部酉算子与测量算子也应在对应 Hilbert 空间中合法定义;无界位置或动量算子不能直接作为 effect 使用。有限维矩阵枚举与数值求特征值的方法不因此自动推广到无限维。
图 5.1 把配置定义为程序与部分密度算子的二元组,没有另设一般经典存储。本页使用同一约定。原文书页 68 的图 5.2 另给纯态概率转移:先归一化条件态,再在箭头标注概率;这与本页把概率吸收到部分密度算子中的表示不同,不能同时重复计权。初始化可能将全局纯纠缠态变为混合态,因此图 5.2 没有一般纯态初始化规则。
继续阅读与来源
指称语义介绍组合性;最弱前置条件把这些映射反向作用到断言;量子霍尔逻辑用于证明程序性质。
- Mingsheng Ying,Foundations of Quantum Programming, 2nd edition,Chapter 5,2024。章节 DOI。相关公式见定义 5.1–5.6、图 5.1–5.2、命题 5.1–5.2(pp. 64–76)。经典递归、变量访问和局部块参见量子编程语言与指称语义。