量子计算(二)——量子态与量子门

一、量子态与局部测量

1.量子态与计算基态

我们知道一个量子位对应的叠加态可以表示为两个本征态的叠加,即|𝜓⟩=𝛼|0⟩+𝛽|1⟩;对于两个量子位,则表示为𝛼|00⟩+𝛽|01⟩+𝜃|10⟩+𝛿|11⟩;扩展为𝑛位时,则量子态可以表示为:

|𝜓⟩=∑𝑖=02𝑛−1𝑎𝑖|𝑖⟩

在这里,符号|𝑖⟩中的𝑖通常会展开写为一个长度为𝑛的二进制数,而这个右矢又代表一个元素个数为2𝑛、但只在第𝑖位为1的列向量,我们将|𝑖⟩这样的态称为计算基态。各计算基态本身是单位的(即模长为1),而各计算基态之间是正交的,也就是说:

⟨𝑖|𝑗⟩={0, 𝑖≠𝑗1, 𝑖=𝑗

11 复习:左右矢互为共轭转置。当同维的左矢乘上右矢时,相当于普通的向量乘法,将会得到一个数。对于计算基态来说,自然只在|𝑖⟩,|𝑗⟩相等时,能够使⟨𝑖|𝑗⟩=1。

量子态本身需要符合归一化条件,也就是各计算基态出现的概率之和必须为1,这可以写成以下两种形式:

∑𝑖=02𝑛−1|𝑎𝑖|2=1
||𝜓⟩|2=⟨𝜓|𝜓⟩=1

2.局部测量(Partial Measurement)

现在假设分别有两个量子位 |𝜓⟩=𝛼1|0⟩+𝛽1|1⟩ , |𝜙⟩=𝛼2|0⟩+𝛽2|1⟩ ,那么这两个量子位共同组成的系统可以用张量积表示为:

|𝜓⟩⊗|𝜙⟩=(𝛼1|0⟩+𝛽1|1⟩)⊗(𝛼2|0⟩+𝛽2|1⟩)=𝛼1𝛼2|00⟩+𝛼1𝛽2|01⟩+𝛽1𝛼2|10⟩+𝛽1𝛽2|11⟩

那么对这个系统整体进行测量时,00,01,10,11 状态出现的概率分别是 |𝛼1𝛼2|2,|𝛼1𝛽2|2,|𝛽1𝛼2|2,|𝛽1𝛽2|2。但我们考虑一种情况:假如只对其中一个量子位测量,那么结果又将如何?或者说,仅针对其中某一个量子位,测量到其结果为 0 或 1 的概率分别为多少?

您可能会说这很简单呀!例如只测量第一个量子位,其状态为 1 的概率很显然就是 10,11 状态出现的概率之和 |𝛽1𝛼2|2+|𝛽1𝛽2|2 嘛!这确实是一种方法,但一种更系统的做法是,将量子态重写为 |0⟩|𝜓0⟩+|1⟩|𝜓1⟩ 的形式,那么状态 0,1 的概率就分别是 |𝜓0⟩,|𝜓1⟩ 的模的平方了!以上述为例,将 |𝜓⟩|𝜙⟩ 重写为:

|0⟩(𝛼1𝛼2|0⟩+𝛼1𝛽2|1⟩)+|1⟩(𝛽1𝛼2|0⟩+𝛽1𝛽2|1⟩)

所以第一个量子位的状态为 0 的概率就是 |𝛼1𝛼2|0⟩+𝛼1𝛽2|1⟩|2=|𝛼1𝛼2|2+|𝛼1𝛽2|2 了。

这可以扩展到多个量子位的情况。假设有 𝑛 位量子位,要测量第 𝑖 位量子位,那么就将第 𝑖 位为 0,1 的计算基态分别提取出来并写成 |0⟩|𝜓0⟩+|1⟩|𝜓1⟩的形式,再分别计算 |𝜓0⟩,|𝜓1⟩ 的模的平方即可。

到这里还尚未结束!必须强调,当第 𝑖 位被测量之后,这个量子位就已经“永久地”落入到确定状态了,此时的量子态就不能按原来的形式写出了!因为在 “1.量子态与计算基态” 中已经强调,量子态需要符合归一化条件,我们必须要继续写出测量之后的量子态。

还是以上文的二量子位系统为例,第一量子位被测量后,假如测量结果是 0 ,那么剩余系统的叠加态就应当是 |𝜓0⟩=𝛼1𝛼2|0⟩+𝛼1𝛽2|1⟩;然而我们知道 |𝛼1𝛼2|2+|𝛼1𝛽2|2≠1 ,因此需要将这个态重新归一化,这就是说剩余系统的叠加态要写成:

𝛼1𝛼2|0⟩+𝛼1𝛽2|1⟩|𝛼1𝛼2|2+|𝛼1𝛽2|2=𝛼1𝛼2|𝛼1𝛼2|2+|𝛼1𝛽2|2|0⟩+𝛼1𝛽2|𝛼1𝛼2|2+|𝛼1𝛽2|2|1⟩

才是正确的。因此扩展到 𝑛 位的情况,测量第 𝑖 位之后剩余量子位的叠加态应是:

{1||𝜓0⟩||𝜓0⟩=1⟨𝜓0|𝜓0⟩|𝜓0⟩, If measured 01||𝜓1⟩||𝜓1⟩=1⟨𝜓1|𝜓1⟩|𝜓1⟩, If measured 1

3.纠缠态

对于某些特殊的双量子位量子态,也就是:

𝛼|00⟩+𝛽|11⟩,or𝛼|01⟩+𝛽|10⟩

对其进行局部测量时,我们发现剩下的一个量子位的量子态总会只剩下 |0⟩ 或 |1⟩,这相当于它也落入了一个百分百概率确定的状态,我们称这种量子态为纠缠态。纠缠态是一种特殊的叠加态。

纠缠态中最重要的四种又是贝尔纠缠态(也称贝尔基),又称为 EPR 对,这在量子计算中极常用到:

|Φ±⟩=12(|00⟩±|11⟩)
|Ψ±⟩=12(|01⟩±|10⟩)

为什么还有贝尔基的称呼方式?您可以验证这四种纠缠态相互之间也是正交的。这意味着双量子位系统不仅可以表示为计算基态的线性和,也能表示为这四个纠缠态的线性和。 22 还记得上一篇文章中光子与偏振片的例子吗?只要分解方向之间是垂直正交的,那就是合法的。 虽然这种表示方法不常用,但在一些量子算法中,按贝尔基分解时会揭示一些奇妙的性质。

4.纯态与混合态

在以上所述的各情况中,量子系统都可以只用一个量子叠加态 |𝜓⟩ 来描述——虽然系统要落入哪个本征态是不确定的,但它的叠加态却是可以确定的,可以只用一个右矢的态矢量来表示,这时我们称之为纯态(Pure State)。

然而还有一些量子系统连是什么叠加态都不能确定,它具有 𝑛 个不同的叠加态 |𝜓1⟩,…,|𝜓𝑖⟩,…,|𝜓𝑛⟩,处于这些叠加态的概率分别是 𝑝1,..,𝑝𝑖,…,𝑝𝑛,称之为混合态(Mixed State)。为了描述混合态我们不能单纯地只使用态矢量来表示,例如下面这种简单的线性加权和就是不行的:

∑𝑖=1𝑛𝑝𝑖|𝜓𝑖⟩

因为最终各本征态出现的概率和不会为1。我们定义密度矩阵(Density Matrix):

定义 1.(密度矩阵)

若一个量子系统处于 𝑛 个不同的叠加态 |𝜓1⟩,…,|𝜓𝑖⟩,…,|𝜓𝑛⟩,处于这些叠加态的概率分别是 𝑝1,..,𝑝𝑖,…,𝑝𝑛,则这个量子系统的密度矩阵定义为:

𝜌mix=∑𝑖=1𝑛𝑝𝑖|𝜓𝑖⟩⟨𝜓𝑖|

来描述混合态。当然纯态也可以用密度矩阵来描述,它以概率 1 出现在量子态|𝜓⟩,因而其密度矩阵就是𝜌=|𝜓⟩⟨𝜓|。

一个量子系统所处的状态称为量子态,它不是纯态就是混合态。叠加态和计算基态只存在于纯态中。也就是说各种态的性质可以归纳如下:

注 1.
量子态{纯态{叠加态计算基态混合态

33 此处的中文分类可能因为某些原因渲染失败,所以这里也给出英文分类。

Quantum State{Pure State{SuperpositionComputational BasisMixed State

当然在上一篇文章中也说过,如果您认为计算基态也是一种特殊的叠加态,这并无不妥;但我们说叠加态时,会侧重表现其叠加的性质。

5.密度矩阵的性质

在给定密度矩阵的时候我们可以通过某些特征确定矩阵描述的是纯态还是混合态。首先注意到纯态的密度矩阵的任意次幂都是相等的,因为:

𝜌2=|𝜓⟩⟨𝜓||𝜓⟩⟨𝜓|=|𝜓⟩(⟨𝜓|𝜓⟩)⟨𝜓|=|𝜓⟩⟨𝜓|=𝜌

而混合态是不等的:

𝜌mix2=∑𝑖∑𝑗𝑝𝑖𝑝𝑗|𝜓𝑖⟩⟨𝜓𝑖||𝜓𝑗⟩⟨𝜓𝑗|≠𝜌mix

再来关注密度矩阵及其平方的迹(对角线元素之和)。对于纯态来说,其密度矩阵的迹显然是 1,因为 |𝜓⟩ 本身是单位的,密度矩阵上对角线元素就是原右矢对应位置元素的模平方,代表了对应本征态(计算基态)出现的概率,其和自然就是 1。因此对于纯态存在:

𝜌=𝜌2⇒Tr(𝜌)=Tr(𝜌2)=1

为了更加数学化地说明,首先展开纯态的密度矩阵 𝜌=|𝜓⟩⟨𝜓|。而纯态的右矢可以进一步展开为 ∑𝑎𝑖|𝑖⟩,于是将纯态密度矩阵继续展开:

44 上式虽然不是一个对角阵,但其对角线上的元素是 {|𝑎1|2,|𝑎2|2,…,|𝑎𝑛|2},这其中的物理含义就已非常显然了——各列上的对角线元素,就是在测量后这一列对应计算基态出现的概率。根据归一化条件,结论 Tr(𝜌)=Tr(𝜌2)=1 不言自明。

对于混合态密度矩阵,它的迹 Tr(𝜌mix) 也是 1。这有两种理解方法:其一,因为|𝜓𝑖⟩⟨𝜓𝑖|上的对角线元素代表了这个量子态下对应本征态(计算基态)出现的概率,其和为1,但之后加入到密度矩阵时还需要以𝑝𝑖加权;而∑𝑝𝑖=1,因此迹就是各量子态出现的概率之和,即为1。其二,混合态密度矩阵上的对角线元素也代表了其对应本征态出现的概率,是各𝑝𝑖的线性组合,和也必然为1。

现在再来看混合态密度矩阵 𝜌mix=∑𝑝𝑖|𝜓𝑖⟩⟨𝜓𝑖|。按照上述,每一个 |𝜓𝑖⟩⟨𝜓𝑖| 上的对角线元素都是对应计算基态出现的概率,从而 𝜌mix 中的对角线元素也可以轻松写出:

{𝑝1∑|𝑎𝑗|2,𝑝2∑|𝑎𝑗|2,…,𝑝𝑛∑|𝑎𝑗|2}

从而对于混合态密度矩阵来说,各列上的对角线元素依然是在测量后对应计算基态出现的概率!因而根据归一化条件,混合态密度矩阵的迹也是 1。结合稍早之前的讨论,我们获得结论:

定理 1.(密度矩阵的迹)
无论纯态还是混合态,任意密度矩阵的迹都是 1。

但是混合态密度矩阵的平方的迹必然小于 1,因为根据上述的计算和讨论,显然有 Tr(𝜌mix2)=∑𝑝𝑖2<(∑𝑝𝑖)2=1。这些结论及其体现的性质使得我们具有了区分纯态与混合态的能力,只要给出量子态的密度矩阵 𝜌,下述两种方法任取其一:

定理 2.(利用密度矩阵判断纯态与混合态)
  1. 计算 𝜌2,对比 𝜌;如果 𝜌=𝜌2,那么 𝜌表示一个纯态,否则为混合态;
  2. 计算 𝜌2,并计算其对角线元素和,即这个矩阵的迹 Tr(𝜌2)。如果 Tr(𝜌2)=1,那么 𝜌 表示一个纯态;如果 Tr(𝜌2)<1,那么 𝜌 表示一个混合态。

让我们进一步研究。在数学上,矩阵的迹还同时是特征值之和。由前面的讨论,密度矩阵的特征值之和也自然为 1,这说明密度矩阵的特征值也是一种概率!但是特征值表示的概率不是对应计算基态的概率。考虑一个简单的情形,即单量子位纯态 𝛼|0⟩+𝛽|1⟩ 的密度矩阵:

容易得到它的特征值是 1,0,分别对应的特征向量是:

这是在说,对于这个单量子位而言,必然处于纯态 𝛼|0⟩+𝛽|1⟩,而绝不可能处于 ,而这两个纯态是正交的。因此,将密度矩阵对角化,实际是将原量子态从计算基态张成的空间变换到另一个正交纯态张成的空间,而特征值则是量子态处于对应纯态的概率。这一点可以推广到任意量子位纯态以及混合态。因此,由于概率的非负性,任意密度矩阵是半正定的。

根据这个讨论,我们又获得了判断给定矩阵是否是一个密度矩阵的能力。如果您在使用上述第二个方法判定密度矩阵所表示的的量子态时,出现了 Tr(𝜌2)>1 的情况,就应当使用下述性质检查密度矩阵是否有误:

定理 3.(密度矩阵的性质)
对于给定矩阵 𝜌,当且仅当 Tr(𝜌)=1 且半正定时,是密度矩阵。

二、量子门

现在我们来研究量子位的变换。在前置知识说到,我们可以通过酉矩阵来使叠加态发生变换,即输入一个叠加态、则输出一个量子态,这显然是一种门电路。但与经典情况中的不同,对于经典门电路,是输入两个经典位、而只输出一个经典位,这个过程是熵增的、不可逆的——也就是说,不能由输出推知输入。

而量子门不会造成信息的丢失。量子门的本质是酉矩阵,酉矩阵总存在 𝑈𝑈†=𝑈†𝑈=𝐼,只要得到这个量子门的共轭转置矩阵就能恢复原来的量子态。所有的量子门都必须对应一个酉矩阵。可逆性是量子算法与经典算法的本质区别之一。

1.由输入输出构造量子门

假如有一个量子门,但我们并不知道它的具体数学形式,那么这个数学形式应当如何获知呢?一种方法是遍历它的输入与输出,关键在于利用各计算基态间正交的特性。我们如下操作:对于一个 𝑛 位的量子门,将 2𝑛 个计算基态的输入输出遍历一遍:

|𝑖⟩→|result𝑖⟩

那么量子门就可以写为:

𝑈=∑𝑖=02𝑛−1|result𝑖⟩⟨𝑖|

这是因为,对于任意输入的计算基态 |𝑗⟩,对任意 𝑖≠𝑗 都存在 ⟨𝑖|𝑗⟩=0,因此:

𝑈|𝑗⟩=∑𝑖=02𝑛−1|result𝑖⟩⟨𝑖|𝑗⟩=|result𝑗⟩⟨𝑗|𝑗⟩=|result𝑗⟩

那么对于任意叠加态,即任意计算基态的线性组合,其输出也必然是各计算基态对应输出的线性组合,并且权重相等:

𝑈∑𝑗=02𝑛−1𝑎𝑗|𝑗⟩=∑𝑗=02𝑛−1𝑎𝑗|result𝑗⟩

但我们尚且没有保证这样构造出的量子门是酉矩阵。然而证明是简单的:

证明. 由于叠加态是归一的,所以 |result𝑖⟩ 也必然是单位的;同时,正交的输入必然得到正交的输出。为此可以做以下计算:

𝑈†=∑𝑖=02𝑛−1|𝑖⟩⟨result𝑖|
𝑈†𝑈=∑𝑖=02𝑛−1∑𝑗=02𝑛−1|𝑖⟩⟨result𝑖|result𝑗⟩⟨𝑗|=∑𝑖=02𝑛−1|𝑖⟩⟨result𝑖|result𝑖⟩⟨𝑖|=∑𝑖=02𝑛−1|𝑖⟩⟨𝑖|=𝐼

另一方面:

𝑈𝑈†=∑𝑖=02𝑛−1∑𝑗=02𝑛−1|result𝑖⟩⟨𝑖|𝑗⟩⟨result𝑗|=∑𝑖=02𝑛−1|result𝑖⟩⟨𝑖|𝑖⟩⟨result𝑖|=∑𝑖=02𝑛−1|result𝑖⟩⟨result𝑖|=𝐼

因此𝑈是个酉矩阵。这样构造量子门是正确的。

□

2.简单的单量子门重顾

我们还提到过几个比较经典与重要的单量子门。首先是 NOT 门,习惯上我们更喜欢称为 𝑋 门,它反转了量子比特。假设量子态 |𝜓⟩=(𝛼,𝛽)𝑇=𝛼|0⟩+𝛽|1⟩,那么:

𝑋=[0110]𝑋|𝜓⟩=𝛽|0⟩+𝛼|1⟩

然后是 𝑍 门,它将相位翻转:

𝑍=[100−1]𝑍|𝑖⟩=(−1)𝑖|𝑖⟩𝑍|𝜓⟩=𝛼|0⟩−𝛽|1⟩

单位门𝐼,对量子态不做操作:

𝐼=[1001]𝐼|𝜓⟩=|𝜓⟩

哈达玛门𝐻,使计算基态进入均匀叠加态:

𝐻=12[111−1]𝐻|𝑖⟩=12(|0⟩+(−1)𝑖|1⟩)𝐻|0⟩=|+⟩=12|0⟩+12|1⟩𝐻|1⟩=|−⟩=12|0⟩−12|1⟩

3.由单量子门扩展多量子门

单量子门扩展多量子门的数学基础是张量积的性质:

(𝐴⊗𝐵)(𝐶⊗𝐷)=(𝐴𝐶)⊗(𝐵𝐷)

这条数学公式的物理意义是:当 𝐴,𝐵 为单量子门,𝐶,𝐷 为单量子右矢时,分别对量子态 𝐶 和 𝐷 同时分别做酉变换 𝐴 和 𝐵 ,相当于对量子态 𝐶⊗𝐷 整体做酉变换 𝐴⊗𝐵。甚至,上述描述根本不需要“单量子”的限制,对于任意多位的量子位都是成立的。例如下列矩阵:

12[11001−1000011001−1]

它很显然是单位矩阵与哈达玛变换的张量积 𝐼⊗𝐻,它就相当于在一个双量子位的系统中只对第二个量子位作哈达玛变换。

在对 𝑛 量子位系统的每一量子位都做相同酉变换 𝑈 时,我们用记号 𝑈⊗𝑛 来表示。例如,𝐻⊗𝑛|0𝑛⟩=(𝐻|0⟩)⊗𝑛=12𝑛(|0⟩+|1⟩)⊗𝑛,结果是一个所有元素均为 12𝑛 的 2𝑛 阶列向量。

4.几个多量子门

由单量子门拓展多量子门是简单的,但也有许多多量子门是不能通过上述方法得到的。比如受控非门CNOT门,这是一个双量子门。当第一个量子位为0时,不对第二量子位操作;否则,将第二量子位取非操作。也就是对应如下变换:

|00⟩→|00⟩,|01⟩→|01⟩|10⟩→|11⟩,|11⟩→|10⟩

应用上文由输入输出构造量子门的方法,容易得到这个量子门是:

CNOT=|00⟩⟨00|+|01⟩⟨01|+|11⟩⟨10|+|10⟩⟨11|=[1000010000010010]

您会发现这个量子门没法表示为两个单量子门的张量积。受控非门对双量子位的作用,比较简便好写的写法是 CNOT|𝑥𝑦⟩=|𝑥⟩|𝑥⊕𝑦⟩。⊕ 是按位异或,也就是按位二进制无进位加法。

从 CNOT 门出发,可以得到 Toffoli 门等任意多位的控制非门。例如 Toffoli 门是一个三量子位门,具有两个控制位。当两个控制位都为1的时候,才对受控位取非。也就是:

Toffoli|𝑥𝑦𝑧⟩=|𝑥𝑦⟩|𝑥𝑦⊕𝑧⟩

对于一个受控 𝑈 门——首先是一位的控制位,之后接上任意位的受控位,只有当控制位为 1 的时候才对受控位做变换 𝑈 ——这个量子门的矩阵形式是不能用单量子门张量积扩展得到的。虽然也能用输入输出构造,但显然过于繁琐。这里我们说明一个简便的构造方法。既然当控制位为 0 时 𝑈 不作用,反之为 1 时作用,因此:

C𝑈=(|0⟩⟨0|⊗𝐼)+(|1⟩⟨1|⊗𝑈)=[1000]⊗𝐼+[0001]⊗𝑈=[𝐼𝑂𝑂𝑈]

也就是,这种情况下的受控 𝑈 门,只需要简单地代入上式即可得到矩阵形式了。例如,最简单的 CNOT 门就符合这种构造方法。同理,您也可以非常容易地得到,只有控制位为 0 时 𝑈 门才对受控位作用的受控门的矩阵形式是:

[𝑈𝑂𝑂𝐼]

按照同样的方法,同样可以扩展到控制位有任意位的情况。其矩阵形式依然是相同的。