量子计算 [6] -- AQFT & 量子加法
AQFT和加法之间并不存在直接关系, 这里拿来一起说纯粹是占篇幅罢了 (抱头蹲防

近似量子傅里叶变换
在实际操作的量子系统里, 粒子会缓慢与外界粒子发生纠缠, 比如通过约束粒子的场与产生场的仪器发生纠缠. 通过纠缠, 会使系统内的粒子产生坍缩. 这就是量子的退相干. [暂时对量子力学没有很多了解, 可以参考*zh.wikipedia.org/wiki/量子退相干*]
在存在退相干的情况下, 量子位系统经过的位门越多, 系统数据损失率越高. 因此, 需要一种位门较少, 且计算精度不错的算法方案.
看到QFT的电路:

里面存在一大堆相位旋转门, 根据定义, 随着t变大,
门会越来越接近
门. 存在退相干时, 在t增大到某种程度时,
门产生的退相干效果会大于门自身对数据作出的贡献.
对此, 提出了解决方法: 给出一个整数m, 把 t > m 的相位旋转门全部抛弃. 如果 t = m 的相位旋转门刚好是退相干效果会小于门对数据作出的贡献的最后一个位门, 那么这个方法可以以最少误差给出QFT的结果, 这个方法就叫做AQFT.
下面给出AQFT原论文里的误差分析, 其中Q为质量因子(quality factor), 值越大表示数据失真越少, δ是量子系统与环境的耦合强度, L是量子位数量

需要注意到, 当 m 与量子位长度一样时, AQFT变为QFT; 而 m = 0时, AQFT变为H变换.
在实际使用中, AQFT比QFT有更好的表现, 当在模拟计算里, 因为不存在退相干, 自然是QFT更好. 但在量子位数量比较多的时候, 模拟计算QFT会有很大压力 [内存使用剧增导致计算速度缓慢], 这时候AQFT可以提供一种稍微快一点的计算方案.

量子加法
实现加法是所有可以进行计算的机器的重点. 在电子计算机里, 加法是通过半加器组合为全加器, 再由全加器组合为加法器. 而在可逆逻辑计算里讨论过可逆加法器是由可逆全加器组合构成加法器, 并且失去了半加器这个概念. 在目前最好的量子加法里, 甚至连全加器的概念也不存在, 下面来讨论一下.
考虑两个数字 A和B, A和B都是n个比特的数字, 也就是, 定义计算
为加法. C同样为n比特的数字. 不难知道在给出 C和A 可以推导出B:
. 这表明如果有操作
, 则必定存在它的逆向操作:
, 并且不难证明这种映射与逆映射的互相对应的. 也就说可能存在一种不需要额外比特的可逆加法. 这里只是提供一种思路, 集合α映射到集合β上, 当α与β的大小一致, 且α里的每个元素都映射到β里不同的元素上, 则必定存在从β到α的相应的逆映射. [好像是叫满映射? 集合学得老差了]
在量子计算里, 相位可以很方便地通过相位旋转门来操作, 而QFT又可以很方便地把数字变为相位; 由相位的周期性 可以类比于n比特的溢出
; 作用相位旋转门等同于相位相加
, 综上所述, 没有什么比相位更适合进行加法操作的了.
记 , QFT表示为

类比于QFT里的相位旋转门的原理, 加法器电路为

这是一个非常简洁的电路. 可以注意到, 同一类相位旋转门作用在上面的量子位都是不一样的, 比如, 总是被
控制, 作用在
上. 根据这个特征, 在实际构造运行时可以所有同一类门同时运行得到并行计算.
加法电路已经整合到自制垃圾库里面了, 下面代码将会直接调用库里的方法而不是再写一次.

半经典加法
如果在加法里A是经典的电子信号, 那么使态变为态
的相位旋转门是可以通过电子计算机确定的. 详细实现这里也不细说了, 有兴趣的可以试着自己实现一下, 实在不知道怎么实现的, 可以参考自制垃圾库里的 `.HighLevel.Add.PhaseAddInt()`

加法是实现Shor算法的重点, 预计下一章就是开始手把手实现Shor算法了 (大概, 不咕的话
推销员继续推瑟图群和自制垃圾库:
群 [274767696]
库 [github.com/nyasyamorina/nyasQuantumCalculate]
封面也是用瑟图算了, 反正瑟图存货多 ( pid: 67329067