量子计算

发布时间 2023-06-03 15:45:12作者: C_noized

参考原文:https://zhuanlan.zhihu.com/p/422530661

量子比特

比特,数学上的0或者1,多用来表示两种独立的状态,是一个标量。而量子比特却是一个矢量,如一个基态可以表示为

\[|0 \rangle := \left[ \begin{matrix} 1\\ 0 \end{matrix} \right] \]

我们不妨称之为状态0
相应的,状态1则可以表示为:

\[|1 \rangle := \left[ \begin{matrix} 0\\ 1 \end{matrix} \right] \]

量子力学与经典力学的不同之处在于,经典粒子只可以处于任一基态,而量子粒子可以处于叠加态,比如,某个粒子的量子状态为:

\[0.6|0 \rangle + 0.8|1 \rangle \]

用一个简单的二维图可以表示如下:
image
严格意义上,上图并不严谨,因为量子态实际上是由\(|0 \rangle\)\(|1 \rangle\)两个基矢量构建的复矢量。例如:

\[\frac{1+i}{2}|0\rangle + \frac{i}{\sqrt{2}}|1\rangle \]

上图仅仅反应了实数的情况,可以看作是布洛赫球的实数切面。
量子计算中一个常用的术语是振幅,也即叠加态下某一个基态的系数,例如:

\[\alpha|0 \rangle + \beta|1 \rangle \]

中的振幅就是\(\alpha\)\(\beta\),而且满足下面的要求:

\[|\alpha|^2 + |\beta|^2 = 1 \]

量子非门

那我们怎样转变量子态呢?考虑到电子电路我们使用各种逻辑门(与或非等)来改变状态,那么在量子电路上或许可以采用相似的形式,至少在数学抽象上应保持相似。
例如非门的作用可以由下图表示:
image
在数学抽象上,可以将非门的作用等效为一个矩阵:

\[X=\left[\begin{matrix} 0&&1\\ 1&&0\\ \end{matrix}\right] \]

证明:

\[X(\alpha|0\rangle+\beta|1\rangle)\\ = \left[\begin{matrix} 0&&1\\ 1&&0\\ \end{matrix}\right] ( \left[\begin{matrix} \alpha\\ 0\\ \end{matrix}\right]+ \left[\begin{matrix} 0\\ \beta\\ \end{matrix}\right] )\\ = \left[\begin{matrix} 0&&1\\ 1&&0\\ \end{matrix}\right] \left[\begin{matrix} \alpha\\ \beta\\ \end{matrix}\right]\\ = \left[\begin{matrix} \alpha\\ \beta\\ \end{matrix}\right]\\ =\alpha|1\rangle+\beta|0\rangle \]

非门等效矩阵还是一个幺正(酉)矩阵,实际上,后面提到的所有的量子门都可以等效为一个幺正矩阵

量子线

所谓量子线,也就是和电线一个意思,仅仅起到传导信号的作用,而不对量子态进行任何的改变。
显而易见的,两个连续非门作用到一个量子态上应该等效为量子线。

\[XX= \left[\begin{matrix} 0&&1\\ 1&&0\\ \end{matrix}\right] \left[\begin{matrix} 0&&1\\ 1&&0\\ \end{matrix}\right]= \left[\begin{matrix} 1&&0\\ 0&&1\\ \end{matrix}\right] \]

哈达玛门

哈达玛门对基态的作用如下:
image
哈达玛门对应的矩阵如下:

\[H=\frac{1}{\sqrt{2}} \left[\begin{matrix} 1&&1\\ 1&&-1\\ \end{matrix}\right] \]

上面看到连续两个非门等效于量子线,那么连续两个哈达玛门等效于什么呢?
抱歉,还是量子线。

\[HH=I \]

读者可以自行验证

P门

\[P(\theta)= \left[\begin{matrix} 1&&0\\ 0&&e^{i\theta}\\ \end{matrix}\right] \]

参数\(\theta\)表示状态向量绕布洛赫球Z轴旋转的角度。
当然,除了X、H、P门,还有Y、Z门等等单量子比特的量子门,这里略过。
但值得一提的是,所有的单量子比特的量子门的等效矩阵,都是幺正矩阵。

幺正矩阵的直观作用

任一个复矢量\(\vec{Z}\)的长度为:\(||\vec{Z}||=\sqrt{\sum_{i=1}^n |z_i|^2}\)
若有一幺正矩阵\(U\)可以与\(\vec{Z}\)相乘
那么一定有\(||\vec{Z}||=||U\vec{Z}||\)
别忘了我们的量子态也是一个n维的复矢量,所以实际上一个量子态经过量子门后其长度不发生变化,只有其相较于坐标系的角度发生了变化。
为什么不能改变量子态矢量的长度呢?因为物理世界要求所有的基态的概率之和为1,而这恰好是矢量长度。
又恰好,当且仅当矩阵是幺正时,不改变矢量长度。所以合理的单量子比特量子门一定等效为一个幺正矩阵。

量子态的测量

假设一个量子态为:\(\alpha|0\rangle+\beta|1\rangle\)。那么对这个量子态测量其经典结果,有\(|\alpha|^2\)的概率得到结果0,有\(|\beta|^2\)概率得到结果1。但由于量子特性,一旦经过测量,那么该量子态将会发生坍塌,不再处于叠加态,而是按概率坍塌到一个可能的基态,比如,若测量的经典结果为1,那么意味着坍塌到了\(|1\rangle\)这个基态,此后无论经过多少次测量,测量结果都是1。

受控非门

前面提到的量子门都是针对一个量子比特而言的,而受控非门(CNOT)显然需要至少两个量子比特,其中一个作为控制信号,另外一个则作为被控制的信号。
下图在量子电路中表示了CNOT,图中上方的实心圆点表示控制量子位,下方的大圆圈表示目标量子位。
image
每个量子比特有两种基本状态:\(|0\rangle,|1\rangle\)
那么2个量子比特有4种基本状态:\(|00\rangle,|01\rangle,|10\rangle,|11\rangle\)
对于2量子比特的系统,可以处于4种基态的叠加态:

\[\alpha|00\rangle+\beta|01\rangle+\gamma|10\rangle+\delta|11\rangle \]

受控非门的作用很简单,可以用下图表示(这里认为第一位是控制位):
image

Toffoli门

Toffoli门和受控非门十分相似,但它要多一个控制位,且对目标位生效的是两个控制位的‘与’关系。
image
如果输入Z为0,那么输出就是\(x\and y\),所以Toffoli门可以用来模拟电子电路的与门。