写给IT人的量子计算教程(四)——量子门
admin
2023-09-17 16:02:58
0

一个最简单的量子门是「泡利-X门」,简称「X门」,可用如下两种符号表示:




左侧输入,右侧输出

将 X门施加在一个量子比特上,将会交换该量子比特的两个基状态的概率幅:



根据上文内容可知,输入和输出都是 2\times 1 的列向量,因此可将该量子门的行为用变换矩阵的形式表示如下:
\text{X}\begin{pmatrix}\alpha\\\beta\end{pmatrix}=\begin{pmatrix}\beta\\\alpha\end{pmatrix} ,
其中 \text{X}=\begin{bmatrix}0&1\\1&0\end{bmatrix} ,即 X门的矩阵形式。

相对于数字电路,X门的行为类似于非门,有如下性质:
\text{X}\left|0\right\rangle=\left|1\right\rangle , \text{X}\left|1\right\rangle=\left|0\right\rangle , \text{X}\left|+\right\rangle=\left|+\right\rangle , \text{X}\left|-\right\rangle=-\left|-\right\rangle 。

如果 n 个量子比特 \left|\psi_n\dots\psi_1\right\rangle=\left|\psi_n\right\rangle\otimes\dots\otimes\left|\psi_1\right\rangle 分别同时通过 X门:




注意惯例是高位在下,低位在上

则可用 X门变换矩阵的张量积来表示整个系统的变换:
\text{X}^{\otimes n}\left|\psi_n\dots\psi_1\right\rangle=\text{X}\left|\psi_1\right\rangle\otimes\dots\otimes\text{X}\left|\psi_n\right\rangle ,
这一步的证明留作练习,请读者自己完成。

下表列出了常见量子门的名称、符号和变换矩阵:




From Wikipedia

该表中有几个门非常重要,而且和后面要讲的算法相关,下面单独介绍。

最重要的门莫过于 Hadamard 门了,简称「H门」。为了理解它的作用,我们需要引入 「Bloch 球[1]。但为了避免涉及过多数学,我们将量子态的概率幅限定在实数域,这样就可以把 Bloch 球简化为一个以 X-Z 坐标系原点为圆心的单位圆,我们把它称为「Bloch 圆」(注意,该坐标系的横轴为 X 轴,纵轴为 Z 轴,消失的 Y 轴为 Bloch 球中的虚轴)。然后任意一个单量子比特的量子态 \alpha\left|0\right\rangle+\beta\left|1\right\rangle 都可以映射到圆上一点 P\left(\sin\frac{\theta}{2},\cos\frac{\theta}{2}\right) ,如下图所示:



其中 \theta 为点向量与 Z 轴的夹角,\alpha=\cos\frac{\theta}{2},\ \beta=\sin\frac{\theta}{2} 。下面列出一些常见的状态在该圆上映射的点:
\left|0\right\rangle:P\left(0,1\right) , \left|1\right\rangle:P\left(0,-1\right) , \left|+\right\rangle:P\left(1,0\right) , \left|-\right\rangle:P\left(-1,0\right) ,
这几个映射关系请读者自己练习验证。

对于任意量子态 \left|\psi\right\rangle=\alpha\left|0\right\rangle+\beta\left|1\right\rangle ,H 门的行为可用变换矩阵的形式表示为:
\text{H}\left|\psi\right\rangle=\text{H}\left(\alpha\left|0\right\rangle+\beta\left|1\right\rangle\right)=\frac{\alpha+\beta}{\sqrt{2}}\left|0\right\rangle+\frac{\alpha-\beta}{\sqrt{2}}\left|1\right\rangle ,
将 \alpha=\cos\frac{\theta}{2},\ \beta=\sin\frac{\theta}{2} 代入上式,并由基本三角公式可得:
\left|\psi'\right\rangle=\frac{\alpha+\beta}{\sqrt{2}}\left|0\right\rangle+\frac{\alpha-\beta}{\sqrt{2}}\left|1\right\rangle=\cos\frac{\pi/2-\theta}{2}\left|0\right\rangle+\sin\frac{\pi/2-\theta}{2}\left|1\right\rangle

注意到 \left|\psi'\right\rangle=\text{H}\left|\psi\right\rangle ,\theta\Rightarrow \pi/2-\theta ,即以 Bloch 圆来表示量子比特,H门会使原先的量子态的 X 轴和 Z 轴发生互换。例如: \text{H}\left|0\right\rangle=\left|+\right\rangle , \text{H}\left|1\right\rangle=\left|-\right\rangle 。前面介绍的 X门是沿 X轴作轴对称翻转,例如: \text{X}\left|0\right\rangle=\left|1\right\rangle , \text{X}\left|1\right\rangle=\left|0\right\rangle ;Z门是沿 Z 轴作轴对称翻转,例如: \text{Z}\left|+\right\rangle=\left|-\right\rangle , \text{Z}\left|-\right\rangle=\left|+\right\rangle 。

当 n 个量子比特同时经过 H门时,和 X门的情况一样,也是将 n 个 X门的变换矩阵作张量积。以 n=2 为例,设 \left|\psi_0\right\rangle=\alpha_0\left|0\right\rangle+\beta_0\left|1\right\rangle , \left|\psi_1\right\rangle=\alpha_1\left|0\right\rangle+\beta_1\left|1\right\rangle ,同时分别经过两个 H门:




高位在下,低位在上

对于整个系统而言,初始量子态为:\left|\phi\right\rangle=\left|\phi_1\phi_0\right\rangle=\left|\phi_1\right\rangle\otimes\left|\phi_0\right\rangle
=\alpha_1\alpha_0\left|00\right\rangle+\alpha_1\beta_0\left|01\right\rangle+\beta_1\alpha_0\left|10\right\rangle+\beta_1\beta_0\left|11\right\rangle 。

整个系统的变换过程用矩阵形式表示为:
\left(\text{H}\otimes\text{H}\right)\left|\phi\right\rangle=\frac{1}{2}\begin{bmatrix}1&1&1&1\\1&-1&1&-1\\1&1&-1&-1\\1&-1&-1&1\end{bmatrix}\begin{pmatrix}\alpha_1\alpha_0\\\alpha_1\beta_0\\\beta_1\alpha_0\\\beta_1\beta_0\end{pmatrix}

最终结果较长,此处不便展开,请读者自己练习。综上可知,H门的一个主要功能就是由计算基态产生叠加态

表中另一个重要的门是 CNOT门,或称为「受控非门」。它的输入是两个量子比特,一个是控制比特,一个是受控比特。其行为也很好理解:如果控制比特的量子态为 \left|1\right\rangle ,它就会翻转受控比特,否则会保持受控比特不变。因此 CNOT门的变换矩阵也有如下两种形式:

控制比特为\left|1\right\rangle时为 \begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{bmatrix} ,否则为 \begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{bmatrix} ,控制比特在前,受控比特在后。注意 CNOT门对控制比特不进行任何变换操作。

CNOT门的神奇之处在于它的条件性,如果控制比特处于叠加态时,控制比特和受控比特之间就会发生量子纠缠。这是由于受控比特的概率幅取决于控制比特的取值,而控制比特的取值具有随机性所致。例如下面的量子电路:




最简单的一个能产生纠缠态的量子电路

输出的量子态只有两种可能性: \left|00\right\rangle 或 \left|11\right\rangle ,概率均为1/2。其密度算符为:
\rho=\frac{1}{2}\left|00\right\rangle\left\langle 00\right|+\frac{1}{2}\left|11\right\rangle\left\langle 11\right|=\frac{1}{2}\begin{bmatrix}1&0&0&0\\0&0&0&0\\0&0&0&0\\0&0&0&1\end{bmatrix}

因为 \text{tr}\left(\rho\right)=1 而 \text{tr}\left(\rho^2\right)=\frac{1}{2} ,所以输出的量子态为混合态,向量表示为:
\left|\phi\right\rangle=\frac{1}{\sqrt{2}}\left(\left|00\right\rangle+\left|11\right\rangle\right)

如果对处于纠缠态的多个量子比特中的任何一个施加操作,都相当于将该操作施加在了所有量子比特上。例如对 \left|\phi\right\rangle 的高位施加 X门,变换过程如下:
\left(\text{X}\otimes I\right)\left|\phi\right\rangle=\frac{1}{\sqrt{2}}\begin{bmatrix}0&0&1&0\\0&0&0&1\\1&0&0&0\\0&1&0&0\end{bmatrix}\begin{pmatrix}1\\0\\0\\1\end{pmatrix}
=\frac{1}{\sqrt{2}}\begin{pmatrix}0\\1\\1\\0\end{pmatrix}=\frac{1}{\sqrt{2}}\left(\left|01\right\rangle+\left|10\right\rangle\right)

对 CNOT门的控制比特进行扩展,可以实现有多个控制比特的 CNOT门,其行为是:只有当所有控制比特的量子态均为 \left|1\right\rangle 时才进行翻转操作。特别的,有两个控制比特的称为「CCNOT门」或「Toffoli门」。

还有一种「反受控非门」,这个在表中没有画出,其符号如下:



故名思义,它的行为和受控非门正好相反,当控制比特为 \left|0\right\rangle 时会翻转受控比特。当然,反受控非门也可以有多个控制比特,并且可以和受控门进行组合。这种组合控制门的行为就是:当所有控制位的条件全部满足时激活受控的门操作,否则受控门直通。例如以下组合控制Z门:




高位在下,低位在上

仅当低位的5个量子比特的状态为 \left|00110\right\rangle 时,最高位才会被施加 Z轴翻转操作,否则维持不变。

练习(建议在搞懂之前不要继续阅读下一章)

  1. 证明: \text{X}^{\otimes n}\left|\psi_n\dots\psi_1\right\rangle=\text{X}\left|\psi_1\right\rangle\otimes\dots\otimes\text{X}\left|\psi_n\right\rangle 。
  2. 验证如下量子态到Block圆上点的映射关系: \left|0\right\rangle:P\left(0,1\right) , \left|1\right\rangle:P\left(0,-1\right) , \left|+\right\rangle:P\left(1,0\right) , \left|-\right\rangle:P\left(-1,0\right)
  3. 验证: \text{H}\left|+\right\rangle=\left|0\right\rangle , \text{H}\left|-\right\rangle=\left|1\right\rangle 。
  4. 试求出两个量子比特分别同时经过 H门后的结果。
  5. 写出受控 Z门的矩阵形式。

到目前为止,Grover 算法所用到的量子门都已经介绍过了,接下来我们就开始进入算法部分。

参考

  1. ^Bloch spherehttps://en.wikipedia.org/wiki/Bloch_sphere

相关内容