完全限定的名称:Std.Arithmetic.LookAheadDKRSAddLE
operation LookAheadDKRSAddLE(xs : Qubit[], ys : Qubit[], zs : Qubit[]) : Unit is Adj
摘要
使用 carry-lookahead 算法将零初始化的 little-endian 寄存器 zs 设置为 little-endian 寄存器 xs 和 ys 的总和。
说明
Computes zs := xs + ys + zs[0] modulo 2ⁿ, 其中 xs、ys 和 zs 是小端寄存器,Length(xs) = Length(ys) ≤ Length(zs) = n,假设 zs 是 0 初始化的,但 zs[0] 除外,它可以在 |0> 或 |1> 状态中,并可用作携带状态。
注意:如果 zs[Length(xs)] 超过 zs,则可以将 xs 用作执行。
此作使用携带头算法。
参考文献
- arXiv:quant-ph/0406142 “A logarithmic-depth quantum carry-lookahead adder”, Thomas G. Draper, Samuel A. Kutin, Eric M. Rains, Krysta M. Svore