量子计算 [5].ext -- 半传统QFT & 化简相位估计
本来这里说到的内容全部都是别人在研究shor算法时发明的技巧, 但是稍微算了一下发现这些技巧都是通用的, 就单独拿出来说了.

半传统QFT
说是QFT, 但是很少会有QFT之后接测量的情况, 所以这里只对IQFT进行讨论. QFT也有类似的结论, 可以试着进行推导.
在相位估计里, 电路的后半部分为IQFT+测量, 即:

这里以已经逆序的量子位为输入, 后面的双线代表量子位测量后转化为电信号.
假设在前面的相位估计电路里, 需要测量的量子位数量刚好是相位所需的精度, 则输入IQFT前的量子位为
. 因为求解精度刚好满足
的位数, 所以根据H门的定义有:
, 可以看到最下面的量子位通过H门后就已经得到结果了, 后续的控制方法都不会改变这个量子位的状态.
的状态在进入QFT前为
, 逆相位旋转门定义为
, 下面分情况讨论j1为0和1的情况: 如果j1=0, 则R2逆门不作用在
上, 这时候有:
; 如果j1=1, R2逆门作用在
上, 则有:
. 可以看到两种情况都把
变为
, 作用H门后就得到
. 对于其它量子位也有类似的结论, 这里也不废话了.
可以看到对于任意一个量子位, 状态变化都为, 不难看出, 第一个步骤可以使用经典电路实现, 即使用后l-1量子位的状态确定第l个量子位的相位旋转, 而后l-1量子位的状态可以使用测量量子位获得, 根据这个思路设计出以下电路

其中R'是一个相位旋转门, 定义为,
. 最后测得目标相位
.
对于精度不足的情况, 半传统QFT依然可以与IQFT+测量的方法以相同概率给出答案, 其中包括最佳近似值或其他答案. 证明过程小复杂, 这里就不写了 [主要是懒得再打字], 主要是因为测量时系统状态会坍缩至与测量结果有关的状态里, 而其他状态则会消失.

一个相位量子位的相位估计
在使用半传统QFT的相位估计电路里, 每一个量子位都经过5步: 1) 控制位门U经过作用在特征态上获取相位; 2) 根据之前量子位的测量结果旋转相位; 3) 经过H门进行干涉; 4) 测量; 5) 退出程序前还原量子位.
不难看出在整个程序里, 相位量子位之间没有直接联系, 因为可以由测量结果重置量子位 [施加X门], 且全局相位对计算和测量没有影响. 综上所述, 可以把整个程序由n个并行计算的量子位, 重新排列为1个流水线过程的量子位, 画出电路:

其中各种门的定义与半传统QFT里的一致.

实例
以本篇里的位门为例: , 写代码:
结果就不展示了

话说回来, 不想再费脑子想封面图做成什么样子了, 可以以后也不做封面图吗