(一)量子世界
今天的计算机使用标准的(或用物理学家的话来说,“经典的”)计算模型来执行计算与处理信息,此计算模型要追溯到图灵(Turing)和冯・诺伊曼(Von Neumann)时期。在此模型中,所有信息可归约为比特(bits),一个比特可取0或1两者之一的值——并且所有处理可以通过简单的逻辑门(与、或、非、与非)来执行,这些逻辑门一次作用于一个或两个比特位。在计算过程中的任意一点,经典计算机的状态由其所有比特的状态所决定,这样一个具有n个比特位的计算机可以存在2个可能的状态,范围从00...0(全零) 到11...1(全1)。
与此同时,量子计算机的能力在于其丰富地多的全部状态。一个量子计算机也具有比特,正如任一计算机一样。但其量子比特,又称为量子位(qubit,[kju:bit])不是表示0和1,而是可以表示0、1或同时表示0、1(即一个(0, 1)向量),这个属性被称为叠加(superposition)。这对于其本身而言并没有什么帮助,由于一台计算机其比特可能处于0到1之间的中间状态,正是一台模拟(analog)计算机,简直没有一台普通的数字计算机的能力强大。量子计算机利用了一种特殊的叠加,以至于一次允许指数级数量之多的逻辑状态,所有状态从|00...0⟩到|11...1⟩。这是一个强大的技能,并且没有任何一台经典计算机可以实现。这些量子叠加的绝大多数,以及对于量子计算最有用的就是纠缠(entangled)——它们是整个计算机的状态,它们不对应于任一数字分配,也不对应于单个量子位的模拟状态。尽管没有指数级数量之多的经典计算机的能力强大,但一台量子计算机要比任何一台经典计算机要强大得多——无论它是确定的、有概率的,还是模拟的。对于一些著名的问题(诸如因式分解大数),量子计算机很明显相比于经典计算机而言就是大赢家。一台工作的量子计算机在一天所能因式分解的数,对于经典计算机而言可能需要数百万年。
有人可能认为由于需要复杂的数学知识,理解量子计算或量子物理会显得比较困难……但实际上,从数学上而言,量子概念仅比高中代数稍复杂些而已。量子物理是困难的,因为像爱因斯坦的相对论,它要求消化简单却又违反直觉的概念。在相对论上,奇怪的概念是时间与空间是相互联系的,而直觉告诉我们,它们应用是相互独立的。如果你设法通过时间与空间开始给某个人解释相对论,那么你可能会迎来茫然的凝视。一个更好的开始方式就如爱因斯坦所做的,解释相对论遵循一个简单的物理原理:对于所有匀速移动的观察者而言,光速都是相同的。这一适度的概念然后就变为了极其深远的,并通过必然的逻辑通向爱因斯坦的时空。
为了要接触量子物理,我们必须接受的反直觉的概念有:
(1)在一个完美确定状态下的物理系统,仍然可能表现出随机行为。
(2)两个相距甚远而相互影响的系统仍然会以这种方式表现:尽管它们独立地随机,然而又会以某种方式紧密关联。
不幸的是,不像相对论,这些结论没有简单的物理原理可遵循。我们最好能做的就是将量子机制提取为一些听起来抽象的数学定律。从这些数学定律,对量子粒子(以及量子计算机中的量子位)的所有观察到的行为都可以被推导和预测。并且伴随着相对论,我们必须提防试图用经典术语来描述量子概念。
(二)黑、白与黑白中的量子定律
就目前我们所知,量子定律是最基本的物理定律;它们是不可侵犯的。以下是我们提炼出来的五条关键定律。
1、量子是与其它事物相似的系统
对于每个物理系统,相当于一个希尔伯特空间(Hilbert space)的维度等于系统最大个数能确切区分出来的状态。希尔伯特空间是具有复杂系数与内积的一个线性向量空间:⟨Φ|ψ⟩ = ∑Φ*ψ 。对于一单个量子位,有两个标准的正交状态(计算基础状态),一般记为:|0⟩ = (1 0)且|1⟩ = (0 1)。
2、一个量子状态是系统的一个配置
希尔伯特空间中的每个方向(射线)对应于系统的一个可能状态,有两个状态是明确可区分的,当且仅当这两个方向是正交的(即内积为零)。其它量子状态包括:|+⟩ = (1/√2)(1 1),|-⟩ = (1/√2)(1 -1),|↻⟩ = (1/√2)(1 i),|↺⟩ = (1/√2)(1 -i)。
3、一个量子状态改变;它自然想要演化,但它总是可以被撤销。
一个封闭系统的演化是在其希尔伯特空间的一个单位变换。单位意味着保留线性与内积。
4、组成——如何将各个部分组合成一个整体
一个复合系统的希尔伯特空间是各个部分希尔伯特空间的张量积。一个双量子位系统可以存在于一个乘积状态,诸如|00⟩或|0+⟩,但也可以存在于一个纠缠状态(|00⟩ + |11⟩) / √2,在这种情况下,任一量子位都不具有一个明确的状态,即便两个组合在一起会具有。
5、量子测量是概率性的
对相应于将其希尔伯特空间分解为正交子空间{∏}系统的每一次可能测量,这里∑∏ = 1。在状态|ψ⟩上,结果j以概率P(j) = ⟨ψ|∏|ψ⟩发生,并且在测量之后的状态为|ψ⟩ = ∏|ψ⟩ / √P(j)。测量导致系统概率性地做出行为,并忘记其先前测量状态,除非该状态正好整个位于子空间∏的其中之一。
(三)量子合成器
量子合成器是我们用于对一个量子处理器编程的图形化用户界面。对量子计算熟悉的人可以将合成器看作为构件量子电路的一个工具,可以使用包含良好定义的门电路以及测量的库。对于不熟悉的人来说,我们将会解释一些关键部分。
当你第一次点击上面的“Composer”标签,系统会询问你当前想要运行一个理想的量子处理器还是一个真实的量子处理器。这涉及到了系统的拓扑。在理想的处理器中,门可以被放置在任何地方,而在真实的处理器中,拓扑由正在我们实验室里运行的物理设备设置(注意,这限制了两个量子位门的某些使用性)。
一旦你处于“Composer”标签页面,你可以开始制作你自己的量子电路!我们把这个描述为一个量子谱,因为它在某些方面类似于音乐上的五线谱(即乐谱