《量子信息与量子计算简明教程》第二章·经典比特与量子比特
本专栏的主要内容是 《量子信息与量子计算简明教程》陈汉武 这本书的学习笔记及复习整理。
本专栏的主要内容是 《量子信息与量子计算简明教程》陈汉武 这本书的学习笔记及复习整理。
一、经典比特、量子比特及其叠加状态
记录经典信息的二进制存储单元称为经典比特(bit),由经典状态的0和1表示。对于量子信息而言,记录量子信息的存储单元称为量子比特(qubit),一个量子比特的状态是一个二维复数空间的矢量,它的两个极化状态 ∣ 0 ⟩ |0\rangle ∣0⟩和 ∣ 1 ⟩ |1\rangle ∣1⟩对应于经典状态的0和1。
∣ 0 ⟩ |0\rangle ∣0⟩和 ∣ 1 ⟩ |1\rangle ∣1⟩也是二维复数列向量,其构成二维复数空间的一对正交基底,即长度为1,内积为0的复数向量。qubit与bit本质上的不同在于,除了 ∣ 0 ⟩ |0\rangle ∣0⟩和 ∣ 1 ⟩ |1\rangle ∣1⟩状态以外,qubit可以是两个状态的任意叠加状态(参考第一章·基本概念(上))。取 ∣ 0 ⟩ = [ 1 0 ] |0\rangle=\left[\begin{array}{l}1 \\ 0\end{array}\right] ∣0⟩=[10]和 ∣ 1 ⟩ = [ 0 1 ] |1\rangle=\left[\begin{array}{l}0 \\ 1\end{array}\right] ∣1⟩=[01],有
∣ φ ⟩ = α ∣ 0 ⟩ + β ∣ 1 ⟩ = α [ 1 0 ] + β [ 0 1 ] = [ α β ] |\varphi\rangle=\alpha|0\rangle+\beta|1\rangle=\alpha\left[\begin{array}{l} 1 \\ 0 \end{array}\right]+\beta\left[\begin{array}{l} 0 \\ 1 \end{array}\right]=\left[\begin{array}{l} \alpha \\ \beta \end{array}\right] ∣φ⟩=α∣0⟩+β∣1⟩=α[10]+β[01]=[αβ]由此可知,任意的二维复向量都可以看成是qubit的瞬间值。
二、量子比特的测定
通过一个被称为是测定或观测的过程,可以把一个qubit的状态以概率幅的方式变换成bit信息。也就是说,量子比特 ∣ φ ⟩ |\varphi\rangle ∣φ⟩以概率 ∣ ⟨ 0 ∣ φ ⟩ ∣ 2 |\langle0|\varphi\rangle|^2 ∣⟨0∣φ⟩∣2变换成bit 0,以概率 ∣ ⟨ 1 ∣ φ ⟩ ∣ 2 |\langle1|\varphi\rangle|^2 ∣⟨1∣φ⟩∣2变换成bit 1, ⟨ x ∣ y ⟩ \langle x|y\rangle ⟨x∣y⟩表示 ∣ x ⟩ |x\rangle ∣x⟩和 ∣ y ⟩ |y\rangle ∣y⟩的内积。
内积是线性运算,并且状态 ∣ 0 ⟩ |0\rangle ∣0⟩和 ∣ 1 ⟩ |1\rangle ∣1⟩为正交基底,计算内积 ⟨ 0 ∣ φ ⟩ \langle0|\varphi\rangle ⟨0∣φ⟩和 ⟨ 1 ∣ φ ⟩ \langle1|\varphi\rangle ⟨1∣φ⟩的结果为:
⟨ 0 ∣ φ ⟩ = ⟨ 0 ∣ ( α ∣ 0 ⟩ + β ∣ 1 ⟩ ) = α ⟨ 1 ∣ φ ⟩ = ⟨ 1 ∣ ( α ∣ 0 ⟩ + β ∣ 1 ⟩ ) = β \begin{aligned} &\langle 0 \mid \varphi\rangle=\langle 0|(\alpha|0\rangle+\beta|1\rangle)=\alpha \\ &\langle 1 \mid \varphi\rangle=\langle 1|(\alpha|0\rangle+\beta|1\rangle)=\beta \end{aligned} ⟨0∣φ⟩=⟨0∣(α∣0⟩+β∣1⟩)=α⟨1∣φ⟩=⟨1∣(α∣0⟩+β∣1⟩)=β 即 ∣ φ ⟩ |\varphi\rangle ∣φ⟩以概率 ∣ α ∣ 2 |\alpha|^2 ∣α∣2变换成bit 0,以概率 ∣ β ∣ 2 |\beta|^2 ∣β∣2变换成bit 1。当 α = 1 \alpha=1 α=1时, ∣ φ ⟩ |\varphi\rangle ∣φ⟩取值0的概率为1, β = 1 \beta=1 β=1时, ∣ φ ⟩ |\varphi\rangle ∣φ⟩取值1的概率为1。
三、量子比特对
拥有一个量子比特对,那么将拥有4个正交基底 { ∣ 00 ⟩ , ∣ 01 ⟩ , ∣ 10 ⟩ , ∣ 11 ⟩ } \{|00\rangle,|01\rangle,|10\rangle,|11\rangle\} {∣00⟩,∣01⟩,∣10⟩,∣11⟩},此时有:
∣ φ ⟩ = α 00 ∣ 00 ⟩ + α 01 ∣ 01 ⟩ + α 10 ∣ 10 ⟩ + α 11 ∣ 11 ⟩ |\varphi\rangle=\alpha_{00}|00\rangle+\alpha_{01}|01\rangle+\alpha_{10}|10\rangle+\alpha_{11}|11\rangle ∣φ⟩=α00∣00⟩+α01∣01⟩+α10∣10⟩+α11∣11⟩其中 ∣ α 00 ∣ 2 + ∣ α 01 ∣ 2 + ∣ α 10 ∣ 2 + ∣ α 11 ∣ 2 = 1 \left|\alpha_{00}\right|^{2}+\left|\alpha_{01}\right|^{2}+\left|\alpha_{10}\right|^{2}+\left|\alpha_{11}\right|^{2}=1 ∣α00∣2+∣α01∣2+∣α10∣2+∣α11∣2=1。与单个量子比特相同,通过测定量子比特对,获得的值为00,01,10,11的概率为其对应的参数的绝对值的平方。
同样地,取取 ∣ 0 ⟩ = [ 1 0 ] |0\rangle=\left[\begin{array}{l}1 \\ 0\end{array}\right] ∣0⟩=[10]和 ∣ 1 ⟩ = [ 0 1 ] |1\rangle=\left[\begin{array}{l}0 \\ 1\end{array}\right] ∣1⟩=[01],有
∣ 00 ⟩ = [ 1 0 0 0 ] , ∣ 01 ⟩ = [ 0 1 0 0 ] , ∣ 10 ⟩ = [ 0 0 1 0 ] , ∣ 11 ⟩ = [ 0 0 0 1 ] |00\rangle=\left[\begin{array}{l} 1 \\ 0 \\ 0 \\ 0 \end{array}\right],|01\rangle=\left[\begin{array}{l} 0 \\ 1 \\ 0 \\ 0 \end{array}\right],|10\rangle=\left[\begin{array}{l} 0 \\ 0 \\ 1 \\ 0 \end{array}\right],|11\rangle=\left[\begin{array}{l} 0 \\ 0 \\ 0 \\ 1 \end{array}\right] ∣00⟩=⎣⎢⎢⎡1000⎦⎥⎥⎤,∣01⟩=⎣⎢⎢⎡0100⎦⎥⎥⎤,∣10⟩=⎣⎢⎢⎡0010⎦⎥⎥⎤,∣11⟩=⎣⎢⎢⎡0001⎦⎥⎥⎤我们可以只测定其中一个qubit的值。比如只测定第一位qubit的值,那么对量子比特对第一位的测定结果为:
bit0的概率: ∣ ⟨ 00 ∣ φ ⟩ ∣ 2 + ∣ ⟨ 01 ∣ φ ⟩ ∣ 2 bit1的概率: ∣ ⟨ 10 ∣ φ ⟩ ∣ 2 + ∣ ⟨ 11 ∣ φ ⟩ ∣ 2 \text{bit0的概率:}|\langle 00 \mid \varphi\rangle|^{2}+|\langle 01 \mid \varphi\rangle|^{2}\\ \text{bit1的概率:}|\langle 10 \mid \varphi\rangle|^{2}+|\langle 11 \mid \varphi\rangle|^{2} bit0的概率:∣⟨00∣φ⟩∣2+∣⟨01∣φ⟩∣2bit1的概率:∣⟨10∣φ⟩∣2+∣⟨11∣φ⟩∣2 因为只对量子比特对的第一位进行了测定,那么此时就需要注意到测定后,第二位qubit的状态变化如下:
bit0: α 00 ∣ 0 ⟩ + α 01 ∣ 1 ⟩ ∣ α 00 ∣ 2 + ∣ α 01 ∣ 2 , bit1: α 10 ∣ 0 ⟩ + α 11 ∣ 1 ⟩ ∣ α 10 ∣ 2 + ∣ α 11 ∣ 2 \text{bit0:}\frac{\alpha_{00}|0\rangle+\alpha_{01}|1\rangle}{\sqrt{\left|\alpha_{00}\right|^{2}+\left|\alpha_{01}\right|^{2}}},\quad \text{bit1:}\frac{\alpha_{10}|0\rangle+\alpha_{11}|1\rangle}{\sqrt{\left|\alpha_{10}\right|^{2}+\left|\alpha_{11}\right|^{2}}} bit0:∣α00∣2+∣α01∣2α00∣0⟩+α01∣1⟩,bit1:∣α10∣2+∣α11∣2α10∣0⟩+α11∣1⟩
四、量子比特的基本操作
1. X-Gate
将状态 ∣ 0 ⟩ |0\rangle ∣0⟩反转成状态 ∣ 1 ⟩ |1\rangle ∣1⟩,或者状态 ∣ 1 ⟩ |1\rangle ∣1⟩反转成状态 ∣ 0 ⟩ |0\rangle ∣0⟩称为bit反转演算,其对应量子逻辑非门,用 2 × 2 2\times2 2×2的 P a u l i Pauli Pauli矩阵 σ X \sigma_X σX表示为:
X = σ X = [ 0 1 1 0 ] X=\sigma_X=\left[\begin{array}{ll} 0 & 1 \\ 1 & 0 \end{array}\right] X=σX=[0110]称为X-Gate(bit反转演算子)。如果对状态 α ∣ 0 ⟩ + β ∣ 1 ⟩ \alpha|0\rangle+\beta|1\rangle α∣0⟩+β∣1⟩实施bit反转演算,将会得到 α ∣ 1 ⟩ + β ∣ 0 ⟩ \alpha|1\rangle+\beta|0\rangle α∣1⟩+β∣0⟩:
X ( α ∣ 0 ⟩ + β ∣ 1 ⟩ ) = α X ∣ 0 ⟩ + β X ∣ 1 ⟩ = α ∣ 1 ⟩ + β ∣ 0 ⟩ X(\alpha|0\rangle+\beta|1\rangle)=\alpha X|0\rangle+\beta X|1\rangle=\alpha|1\rangle+\beta|0\rangle X(α∣0⟩+β∣1⟩)=αX∣0⟩+βX∣1⟩=α∣1⟩+β∣0⟩对于这样的一个bit反转演算子,有:
X † X = X X † = [ 0 1 1 0 ] [ 0 1 1 0 ] = I X^{\dagger} X=XX^{\dagger}=\left[\begin{array}{ll} 0 & 1 \\ 1 & 0 \end{array}\right]\left[\begin{array}{ll} 0 & 1 \\ 1 & 0 \end{array}\right]=I X†X=XX†=[0110][0110]=I因此,X-Gate满足幺正性,是幺正矩阵(参考第一章·基本概念(上))。
对某一个幺正矩阵来说,其是否能成为实际操作过程中的量子演算子,要视其演算结果是否能够表达某一特定的物理现象。能够实现量子演算的幺正矩阵还有下面几个。
2. Z-Gate
Z Z Z称为位相翻转演算子或称为Z-Gate,用Pauli矩阵 σ Z \sigma_Z σZ表示为:
Z = σ Z = [ 1 0 0 − 1 ] Z=\sigma_Z=\left[\begin{array}{cc} 1 & 0 \\ 0 & -1 \end{array}\right] Z=σZ=[100−1]其作用在状态 ∣ 0 ⟩ |0\rangle ∣0⟩和 ∣ 1 ⟩ |1\rangle ∣1⟩上的结果是状态 ∣ 0 ⟩ |0\rangle ∣0⟩不变, ∣ 1 ⟩ |1\rangle ∣1⟩发生位相翻转,变为 − ∣ 1 ⟩ -|1\rangle −∣1⟩。例如,对状态 α ∣ 0 ⟩ + β ∣ 1 ⟩ \alpha|0\rangle+\beta|1\rangle α∣0⟩+β∣1⟩实施Z-Gate,有:
Z ( α ∣ 0 ⟩ + β ∣ 1 ⟩ ) = α Z ∣ 0 ⟩ + β Z ∣ 1 ⟩ = α ∣ 0 ⟩ − β ∣ 1 ⟩ Z(\alpha|0\rangle+\beta|1\rangle)=\alpha Z|0\rangle+\beta Z|1\rangle=\alpha|0\rangle-\beta|1\rangle Z(α∣0⟩+β∣1⟩)=αZ∣0⟩+βZ∣1⟩=α∣0⟩−β∣1⟩同样地,有:
Z † Z = Z Z † = [ 1 0 0 − 1 ] [ 1 0 0 − 1 ] = I Z^{\dagger} Z=ZZ^{\dagger}=\left[\begin{array}{ll} 1 & 0 \\ 0 & -1 \end{array}\right]\left[\begin{array}{ll} 1 & 0 \\ 0 & -1 \end{array}\right]=I Z†Z=ZZ†=[100−1][100−1]=I因此,Z-Gate满足幺正性。
3. Hadamard变换
Hadamard变换也称为H-Gate,其矩阵表示为:
H = 1 2 [ 1 1 1 − 1 ] H=\frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array}\right] H=21[111−1]其作用在状态 ∣ 0 ⟩ |0\rangle ∣0⟩和 ∣ 1 ⟩ |1\rangle ∣1⟩上的结果为:
H ∣ 0 ⟩ = 1 2 [ 1 1 1 − 1 ] [ 1 0 ] = ∣ 0 ⟩ + ∣ 1 ⟩ 2 H ∣ 1 ⟩ = 1 2 [ 1 1 1 − 1 ] [ 0 1 ] = ∣ 0 ⟩ − ∣ 1 ⟩ 2 \begin{aligned} &H|0\rangle=\frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array}\right]\left[\begin{array}{l} 1 \\ 0 \end{array}\right]=\frac{|0\rangle+|1\rangle}{\sqrt{2}} \\ &H|1\rangle=\frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array}\right]\left[\begin{array}{l} 0 \\ 1 \end{array}\right]=\frac{|0\rangle-|1\rangle}{\sqrt{2}} \end{aligned} H∣0⟩=21[111−1][10]=2∣0⟩+∣1⟩H∣1⟩=21[111−1][01]=2∣0⟩−∣1⟩同样地,有:
H † H = H H † = 1 2 [ 1 1 1 − 1 ] 1 2 [ 1 1 1 − 1 ] = I H^{\dagger} H=HH^{\dagger}=\frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array}\right]\frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array}\right]=I H†H=HH†=21[111−1]21[111−1]=I因此,Hadamard变换也满足幺正性。
4. CNOT门
控制非门(Controlled-NOT-Gate)简称为CNOT门,是一个2位qubit输入和2位qubit输出的量子回路,是没有能耗的可逆运算。CNOT门的作用如下图所示。
其中,状态 ∣ x ⟩ |x\rangle ∣x⟩称为控制比特位,状态 ∣ y ⟩ |y\rangle ∣y⟩称为目标比特位。当我们将 ∣ x ⟩ |x\rangle ∣x⟩和 ∣ y ⟩ |y\rangle ∣y⟩输入到CNOT门之后,控制比特位上的输出状态不变,依旧为 ∣ x ⟩ |x\rangle ∣x⟩,而目标比特位上的输出状态变为 ∣ x ⊕ y ⟩ |x\oplus y\rangle ∣x⊕y⟩。而 ⊕ \oplus ⊕实现的是二进制的模2加法,因此,对于输入状态 ∣ 00 ⟩ , ∣ 01 ⟩ , ∣ 10 ⟩ , ∣ 11 ⟩ |00\rangle,|01\rangle,|10\rangle,|11\rangle ∣00⟩,∣01⟩,∣10⟩,∣11⟩,可以推导出如下的输出状态:
结果表明,当控制位为状态 ∣ 0 ⟩ |0\rangle ∣0⟩时,目标位上的qubit不发生bit反转;当控制位为状态 ∣ 1 ⟩ |1\rangle ∣1⟩时,目标位上的qubit发生bit反转。 因此,CNOT门的作用可以概括为:利用控制比特 ∣ x ⟩ |x\rangle ∣x⟩实现对目标比特 ∣ y ⟩ |y\rangle ∣y⟩的 bit反转(X-Gate)。
控制非门对于叠加状态是线性算子,也就是说当叠加状态 α 00 ∣ 00 ⟩ + α 01 ∣ 01 ⟩ + α 10 ∣ 10 ⟩ + α 11 ∣ 11 ⟩ \alpha_{00}|00\rangle+\alpha_{01}|01\rangle+\alpha_{10}|10\rangle+\alpha_{11}|11\rangle α00∣00⟩+α01∣01⟩+α10∣10⟩+α11∣11⟩被送入控制非门,其输出状态是 α 00 ∣ 00 ⟩ + α 01 ∣ 01 ⟩ + α 10 ∣ 11 ⟩ + α 11 ∣ 10 ⟩ \alpha_{00}|00\rangle+\alpha_{01}|01\rangle+\alpha_{10}|11\rangle+\alpha_{11}|10\rangle α00∣00⟩+α01∣01⟩+α10∣11⟩+α11∣10⟩。如果qubit对的基底表示为
∣ 00 ⟩ = [ 1 0 0 0 ] , ∣ 01 ⟩ = [ 0 1 0 0 ] , ∣ 10 ⟩ = [ 0 0 1 0 ] , ∣ 11 ⟩ = [ 0 0 0 1 ] |00\rangle=\left[\begin{array}{l} 1 \\ 0 \\ 0 \\ 0 \end{array}\right],|01\rangle=\left[\begin{array}{l} 0 \\ 1 \\ 0 \\ 0 \end{array}\right],|10\rangle=\left[\begin{array}{l} 0 \\ 0 \\ 1 \\ 0 \end{array}\right],|11\rangle=\left[\begin{array}{l} 0 \\ 0 \\ 0 \\ 1 \end{array}\right] ∣00⟩=⎣⎢⎢⎡1000⎦⎥⎥⎤,∣01⟩=⎣⎢⎢⎡0100⎦⎥⎥⎤,∣10⟩=⎣⎢⎢⎡0010⎦⎥⎥⎤,∣11⟩=⎣⎢⎢⎡0001⎦⎥⎥⎤
那么,CNOT门可以表示为 4 × 4 4\times4 4×4的幺正矩阵:
C N O T = [ 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 ] CNOT=\left[\begin{array}{llll} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{array}\right] CNOT=⎣⎢⎢⎡1000010000010010⎦⎥⎥⎤ 我们已经总结出CNOT门就是利用控制比特 ∣ x ⟩ |x\rangle ∣x⟩实现对目标比特 ∣ y ⟩ |y\rangle ∣y⟩的 bit反转(X-Gate),同样地,如果利用控制比特 ∣ x ⟩ |x\rangle ∣x⟩实现对目标比特 ∣ y ⟩ |y\rangle ∣y⟩的位相翻转(Z-Gate),则可以得到控制Z门(Controlled-Z-Gate),简记为CZ门。如何实现从CNOT门到CZ门的转换呢?参考如下变换:
H X H = 1 2 [ 1 1 1 − 1 ] [ 0 1 1 0 ] 1 2 [ 1 1 1 − 1 ] = [ 1 0 0 − 1 ] = Z HXH=\frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array}\right]\left[\begin{array}{ll} 0 & 1 \\ 1 & 0 \end{array}\right]\frac{1}{\sqrt{2}}\left[\begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array}\right]=\left[\begin{array}{ll} 1 & 0 \\ 0 & -1 \end{array}\right]=Z HXH=21[111−1][0110]21[111−1]=[100−1]=Z即在X-Gate前后分别作用一个Hadamard门,就可以得到Z-Gate。于是,通过CNOT门得到CZ门的方法为:
( I ⊗ H ) C N O T ( I ⊗ H ) = [ H 0 0 H ] [ I 0 0 X ] [ H 0 0 H ] = [ H 0 0 H ] [ H 0 0 X H ] = [ I 0 0 H X H ] = [ I 0 0 Z ] = C Z \begin{aligned} (I \otimes H) C N O T(I \otimes H) &=\left[\begin{array}{cc} H & 0 \\ 0 & H \end{array}\right]\left[\begin{array}{cc} I & 0 \\ 0 & X \end{array}\right]\left[\begin{array}{cc} H & 0 \\ 0 & H \end{array}\right] \\ &=\left[\begin{array}{cc} H & 0 \\ 0 & H \end{array}\right]\left[\begin{array}{cc} H & 0 \\ 0 & X H \end{array}\right] \\ &=\left[\begin{array}{cc} I & 0 \\ 0 & H X H \end{array}\right] \\ &=\left[\begin{array}{cc} I & 0 \\ 0 & Z \end{array}\right] \\ &=C Z \end{aligned} (I⊗H)CNOT(I⊗H)=[H00H][I00X][H00H]=[H00H][H00XH]=[I00HXH]=[I00Z]=CZ当叠加状态 α 00 ∣ 00 ⟩ + α 01 ∣ 01 ⟩ + α 10 ∣ 10 ⟩ + α 11 ∣ 11 ⟩ \alpha_{00}|00\rangle+\alpha_{01}|01\rangle+\alpha_{10}|10\rangle+\alpha_{11}|11\rangle α00∣00⟩+α01∣01⟩+α10∣10⟩+α11∣11⟩被送入CZ门,其输出状态是 α 00 ∣ 00 ⟩ + α 01 ∣ 01 ⟩ + α 10 ∣ 10 ⟩ − α 11 ∣ 11 ⟩ \alpha_{00}|00\rangle+\alpha_{01}|01\rangle+\alpha_{10}|10\rangle-\alpha_{11}|11\rangle α00∣00⟩+α01∣01⟩+α10∣10⟩−α11∣11⟩。同样地,CZ门可以表示为 4 × 4 4\times4 4×4的幺正矩阵:
C Z = [ 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 − 1 ] CZ=\left[\begin{array}{llll} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -1 \end{array}\right] CZ=⎣⎢⎢⎡100001000010000−1⎦⎥⎥⎤
实际上,将右下角的 2 × 2 2\times2 2×2矩阵进行变化,可以得到不同的针对目标量子比特的操作。除此之外,对左上角的 2 × 2 2\times2 2×2矩阵进行变化,则可以对控制量子比特的状态进行改变。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)