参考原文:https://zhuanlan.zhihu.com/p/422530661
量子比特
比特,数学上的0或者1,多用来表示两种独立的状态,是一个标量。而量子比特却是一个矢量,如一个基态可以表示为
我们不妨称之为状态0
相应的,状态1则可以表示为:
量子力学与经典力学的不同之处在于,经典粒子只可以处于任一基态,而量子粒子可以处于叠加态,比如,某个粒子的量子状态为:
用一个简单的二维图可以表示如下:

严格意义上,上图并不严谨,因为量子态实际上是由\(|0 \rangle\)和\(|1 \rangle\)两个基矢量构建的复矢量。例如:
上图仅仅反应了实数的情况,可以看作是布洛赫球的实数切面。
量子计算中一个常用的术语是振幅,也即叠加态下某一个基态的系数,例如:
中的振幅就是\(\alpha\)和\(\beta\),而且满足下面的要求:
量子非门
那我们怎样转变量子态呢?考虑到电子电路我们使用各种逻辑门(与或非等)来改变状态,那么在量子电路上或许可以采用相似的形式,至少在数学抽象上应保持相似。
例如非门的作用可以由下图表示:

在数学抽象上,可以将非门的作用等效为一个矩阵:
证明:
非门等效矩阵还是一个幺正(酉)矩阵,实际上,后面提到的所有的量子门都可以等效为一个幺正矩阵
量子线
所谓量子线,也就是和电线一个意思,仅仅起到传导信号的作用,而不对量子态进行任何的改变。
显而易见的,两个连续非门作用到一个量子态上应该等效为量子线。
哈达玛门
哈达玛门对基态的作用如下:

哈达玛门对应的矩阵如下:
上面看到连续两个非门等效于量子线,那么连续两个哈达玛门等效于什么呢?
抱歉,还是量子线。
读者可以自行验证
P门
参数\(\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,图中上方的实心圆点表示控制量子位,下方的大圆圈表示目标量子位。

每个量子比特有两种基本状态:\(|0\rangle,|1\rangle\)
那么2个量子比特有4种基本状态:\(|00\rangle,|01\rangle,|10\rangle,|11\rangle\)
对于2量子比特的系统,可以处于4种基态的叠加态:
受控非门的作用很简单,可以用下图表示(这里认为第一位是控制位):

Toffoli门
Toffoli门和受控非门十分相似,但它要多一个控制位,且对目标位生效的是两个控制位的‘与’关系。

如果输入Z为0,那么输出就是\(x\and y\),所以Toffoli门可以用来模拟电子电路的与门。