根据定义,门1 / sqrt(5)(I + 2iZ)应该作用于一个量子位a|0> + b|1>
上,以将其转换为1/sqrt(5) ((1+2i)a|0> + (1-2i)b|1>)
,但是每个RUS步骤的转换都执行以下操作:
首先,ancillas处于| +>状态
1/sqrt(2) (a,b,a,b,a,b,a,b)
1/sqrt(2) (a,b,a,b,a,b,b,a)
1/sqrt(2) (a,ib,a,ib,a,ib,b,ia)
1/sqrt(2) (a,ib,a,ib,a,ib,ia,b)
1/sqrt(2) (a,-ib,a,-ib,a,-ib,ia,-b)
现在,以PauliX为基础来测量ancillas相当于将H()应用于状态后的PauliZ测量。现在我有两个困惑,应该将H x H x I
或H x H x H
应用于合并状态。同样,当两个测量均为零时,这些转换都不会等同于第一段中定义的V门。我哪里出错了?
参考:https://github.com/microsoft/Quantum/blob/master/Samples/src/UnitTesting/RepeatUntilSuccessCircuits.qs(第一个示例代码)
答案 0 :(得分:2)
这种转换是正确的,尽管用笔和纸来验证它需要一些时间。
请注意,我们从状态|+>|+>(a|0> + b|1>)
开始,状态为0.5 (a,b,a,b,a,b,a,b)
,矢量形式(|+>
的两个状态都为系数贡献了1/sqrt(2)
)。由于必须将其重新归一化,因此它不会影响我们对测量后状态的计算,但是仍然值得注意。
经过一系列CCNOT,S,CCNOT,Z之后,我们得到0.5 (a,-ib,a,-ib,a,-ib,ia,-b)
。由于我们仅以PauliX为基础测量前两个量子位,因此我们仅需将Hadamards应用于前两个量子位,或将H x H x I
应用于组合状态。
在将Hadamards应用于测量结果后,我将自由地跳过写出整个表达式的步骤,这就是为什么。如果两个测量结果均为0,我们仅对输入量子位的状态感兴趣,因此仅收集具有|00>
作为前两个量子位状态的总体状态项就足够了。
在第一个量子位上测量|00>
之后,第三个量子位的状态将是:(3+i)a |0> - (3i+1)b |1>
乘以某种归一化系数c
。
c = 1/sqrt(|3+i|^2 + |3i+1|^2) = 1/sqrt(10))
。
现在,我们需要检查所获得的状态|S_actual> = 1/sqrt(10) ((3+i)a |0> - (3i+1)b |1>)
与应用V门所期望的状态相同
|S_expected> = 1/sqrt(5) ((1+2i)a |0> + (1-2i)b |1>)
。它们看起来并不相同,但请记住,在量子计算中,状态被定义为到全局阶段。因此,如果我们可以找到p
的绝对值为1的复数|S_actual> = p * |S_expected>
,则状态实际上是相同的。
这转化为p
和|0>
和|1>
的振幅的以下等式:(3+i)/sqrt(2) = p (1+2i)
和-(3i+1)/sqrt(2) = p (1-2i)
。我们求解这两个方程,得到p = (1-i)/sqrt(2)
,它的绝对值为1。
因此,我们可以得出结论,在所有变换之后获得的状态的确确实等于通过应用V门获得的状态。