门与电路
阿达马门(Hadamard gate, H)
大多数量子算法的第一步,是拿一个本来持有确定答案的量子比特——比如 |0>——然后把它“打开”,让它在 0 和 1 之间真正处于未定状态。阿达马门就是做这件事的工具。给它一个 |0>,它会产生 |0> 与 |1> 的等权叠加;给它一个 |1>,它会产生类似的等权混合,但内部带着不同的符号。与其把它想成抛硬币,不如想成让硬币旋转起来:量子比特此刻以一种精确、可以被完整描述的方式悬在两种结果之间,而正是这份精确的平衡,是后续各个门所依赖的基础。
对于这里的“叠加”到底带来了什么,最好诚实以对。经过一次 H 门之后,如果你立刻测量这个量子比特,得到的只是 0 或 1,各占 50/50 的概率——没有魔法,也没有并行地算出所有答案。真正的威力出现在后面:H 塞进 |1> 分支里的那个符号,让各个分支在算法运行过程中彼此干涉,于是错误答案可以相互抵消、正确答案得到增强。阿达马门的作用,是先把这些分支创造出来;电路的其余部分则负责编排它们如何干涉。
两点实用说明。和每一个量子门一样,H 是可逆的,而且它是自身的逆——连用两次,你会精确地回到出发点,两次叠加相互干涉、彼此抵消。还有,它很少单打独斗:在许多量子比特上铺一层阿达马门,接上纠缠门,再来一轮收尾的干涉,这就是从格罗弗搜索到肖尔分解等算法的基本骨架。
H|0> = (|0> + |1>)/sqrt(2), H|1> = (|0> - |1>)/sqrt(2)
H 把每个基态都送入等权叠加;注意 |1> 那一项上的负号——正是这个相对符号,使得之后的干涉成为可能。
阿达马门并不能让量子比特“一次性尝试所有答案”——在 H 之后立刻测量,只会得到一个随机的 0 或 1;它的用处只来自之后各分支之间的干涉,而这些分支正是它打开的。
又称
另见