1.量子比特及其叠加状态
对于量子信息而言,记述量子信息的存储单元称为量子比特(qubit)。一个qubit的状态是一个二维复数空间的矢量,它的两个极化状态 ∣ 0 ⟩ |0\rangle ∣0⟩ 和 ∣ 1 ⟩ |1\rangle ∣1⟩ 对应于经典状态的 0 和 1 。由于量子状态具有可叠加的物理特性,因此描述量子信息的qubit使用二维复数向量的形式表示量子信息的模拟状态。
qubit的两个极化状态也可以表示为二维复数列向量,他们构成二维复数空间的一对正规直交基底。正规的意思是每个向量的长度都是 1 ,直交的意思是两个向量的内积为 0 ,因此可以用以下的方法选择
∣
0
⟩
|0\rangle
∣0⟩ 和
∣
1
⟩
|1\rangle
∣1⟩ ,如:
∣
0
⟩
=
[
1
0
]
∣
1
⟩
=
[
0
1
]
|0\rangle=\left[ \begin{matrix} 1\\0\end{matrix}\right]\ \ \ |1\rangle=\left[ \begin{matrix} 0\\1\end{matrix}\right]
∣0⟩=[10] ∣1⟩=[01]
也可以选择:
∣ + ⟩ = 1 2 [ 1 1 ] ∣ − ⟩ = 1 2 [ 1 − 1 ] |+\rangle =\frac{1}{\sqrt{2}}\left[ \begin{matrix} 1\\1\end{matrix}\right]\ \ \ |-\rangle=\frac{1}{\sqrt{2}}\left[ \begin{matrix} 1\\-1\end{matrix}\right] ∣+⟩=21[11] ∣−⟩=21[1−1]
一个向量的长度为自己和自己的内积,对于
∣
ψ
⟩
=
[
α
β
]
|\psi\rangle=\left[ \begin{matrix} \alpha \\\beta \end{matrix}\right]
∣ψ⟩=[αβ],它的长度为:
∥
∣
ψ
⟩
∥
=
⟨
ψ
∣
ψ
⟩
=
[
α
∗
β
∗
]
[
α
β
]
=
α
α
∗
+
β
β
∗
\| |\psi\rangle\|=\langle\psi|\psi\rangle= \left[ \begin{matrix} \alpha^*&\beta^* \end{matrix}\right] \left[ \begin{matrix} \alpha \\\beta \end{matrix}\right]=\alpha\alpha^*+\beta\beta^*
∥∣ψ⟩∥=⟨ψ∣ψ⟩=[α∗β∗][αβ]=αα∗+ββ∗
对于第一对,我们来计算一下它的长度和内积:
∥
∣
0
⟩
∥
=
[
1
0
]
[
1
0
]
=
1
2
+
0
2
=
1
\||0\rangle\|=\left[ \begin{matrix} 1 & 0 \end{matrix} \right] \left[ \begin{matrix} 1 \\ 0 \end{matrix} \right]=1^2+0^2=1
∥∣0⟩∥=[10][10]=12+02=1
∥
∣
1
⟩
∥
=
[
0
1
]
[
0
1
]
=
0
2
+
1
2
=
1
\|| 1\rangle\|=\left[ \begin{matrix} 0 & 1 \end{matrix} \right] \left[ \begin{matrix} 0 \\ 1 \end{matrix} \right]=0^2+1^2=1
∥∣1⟩∥=[01][01]=02+12=1
⟨
0
∣
1
⟩
=
[
1
0
]
[
0
1
]
=
0
2
+
0
2
=
0
\langle0|1\rangle= \left[ \begin{matrix} 1 & 0 \end{matrix} \right]\left[ \begin{matrix} 0 \\ 1 \end{matrix} \right]=0^2+0^2=0
⟨0∣1⟩=[10][01]=02+02=0
对第二对进行运算也可得到相同的结果。
因此无论选择哪一组qubit对,我们都可以确认他们是直交的基底,qubit与bit本质上的不同点在于,除了
∣
0
⟩
|0\rangle
∣0⟩ 和
∣
1
⟩
|1\rangle
∣1⟩ 状态之外,qubit是这两个状态的任意重叠组合状态。若
α
\alpha
α 和
β
\beta
β 是一对任意的满足归一化(即
∣
α
∣
2
+
∣
β
∣
2
=
1
|\alpha|^2+|\beta|^2=1
∣α∣2+∣β∣2=1)的复数,则量子比特是下面的表达式所描述的所有可能的叠加状态:
∣
φ
⟩
=
α
∣
0
⟩
+
β
∣
1
⟩
=
α
[
1
0
]
+
β
[
0
1
]
=
[
α
β
]
|\varphi\rangle=\alpha|0\rangle+\beta|1\rangle= \alpha\left[ \begin{matrix} 1 \\ 0 \end{matrix} \right]+ \beta\left[ \begin{matrix} 0 \\ 1 \end{matrix} \right]= \left[ \begin{matrix} \alpha \\ \beta \end{matrix} \right]
∣φ⟩=α∣0⟩+β∣1⟩=α[10]+β[01]=[αβ]
由此可知,任意二维复向量都可以看成是qubit的瞬间值。
2.量子比特的测定
对于经典bit,我们能够准确地判断某一个bit在某一时刻取值是 0 还是 1 。但是对于量子比特来说,对于一个量子比特的状态 ∣ φ ⟩ = α ∣ 0 ⟩ + β ∣ 1 ⟩ |\varphi\rangle=\alpha|0\rangle+\beta|1\rangle ∣φ⟩=α∣0⟩+β∣1⟩ 我们通常不能正确地知道 α \alpha α 和 β \beta β 的值。下面我们讲述一下怎么从一个 qubit 获得所要的经典信息。
前面我们讲过,量子力学有个特性称为测量,当我们对量子的状态进行测量时,会以概率幅的平方向某个基态坍缩。也就是通过测量,量子比特 ∣ φ ⟩ = α ∣ 0 ⟩ + β ∣ 1 ⟩ |\varphi\rangle=\alpha|0\rangle+\beta|1\rangle ∣φ⟩=α∣0⟩+β∣1⟩ 将以以下的方式被转换,即 ∣ φ ⟩ |\varphi\rangle ∣φ⟩ 以
- 概率 ∣ ⟨ 0 ∣ φ ⟩ ∣ 2 |\langle0|\varphi\rangle|^2 ∣⟨0∣φ⟩∣2变换成 ∣ 0 ⟩ |0\rangle ∣0⟩
- 概率 ∣ ⟨ 1 ∣ φ ⟩ ∣ 2 |\langle1|\varphi\rangle|^2 ∣⟨1∣φ⟩∣2变换成 ∣ 1 ⟩ |1\rangle ∣1⟩
由于内积是线性运算,而且 ∣ 0 ⟩ |0\rangle ∣0⟩ 和 ∣ 1 ⟩ |1\rangle ∣1⟩ 是正规直交基底,所以以上结论中的表达式可以转换为:
- ⟨ 0 ∣ φ ⟩ = ⟨ 0 ∣ ( α ∣ 0 ⟩ + β ∣ 1 ⟩ ) = α ⟨ 0 ∣ 0 ⟩ + β ⟨ 0 ∣ 1 ⟩ = α \langle0|\varphi\rangle=\langle0|(\alpha|0\rangle+\beta|1\rangle)=\alpha\langle0|0\rangle+\beta\langle0|1\rangle=\alpha ⟨0∣φ⟩=⟨0∣(α∣0⟩+β∣1⟩)=α⟨0∣0⟩+β⟨0∣1⟩=α
- ⟨ 1 ∣ φ ⟩ = ⟨ 1 ∣ ( α ∣ 0 ⟩ + β ∣ 1 ⟩ ) = α ⟨ 1 ∣ 0 ⟩ + β ⟨ 1 ∣ 1 ⟩ = β \langle1|\varphi\rangle=\langle1|(\alpha|0\rangle+\beta|1\rangle)=\alpha\langle1|0\rangle+\beta\langle1|1\rangle=\beta ⟨1∣φ⟩=⟨1∣(α∣0⟩+β∣1⟩)=α⟨1∣0⟩+β⟨1∣1⟩=β
即测量的结果以概率 ∣ α ∣ 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 。在这样的情况下,qubit 的行为与 bit 完全一致,也就是qubit包含了经典 bit 。
应该注意,如果我们选择不同的态矢来表示量子比特的状态,那么测定获取经典比特值的概率将会发生变化。例如,由向量表示的 qubit 为
∣
φ
⟩
=
[
α
β
]
|\varphi\rangle=\left[ \begin{matrix} \alpha \\ \beta \end{matrix} \right]
∣φ⟩=[αβ] 如果选择上面讲的第二对为态基,则状态
∣
φ
⟩
|\varphi\rangle
∣φ⟩ 可以表示为:
∣
φ
⟩
=
α
∣
0
⟩
+
β
∣
1
⟩
=
α
[
1
0
]
+
β
[
0
1
]
=
α
2
[
1
1
]
+
α
2
[
1
−
1
]
+
β
2
[
1
1
]
+
β
2
[
−
1
1
]
=
α
2
(
∣
+
⟩
+
∣
−
⟩
)
+
β
2
(
∣
+
⟩
−
∣
−
⟩
)
=
α
+
β
2
∣
+
⟩
+
α
−
β
2
∣
−
⟩
\begin{aligned} |\varphi\rangle & =\alpha|0\rangle+\beta|1\rangle =\alpha \left[ \begin{matrix} 1\\0\end{matrix}\right]+ \beta \left[ \begin{matrix} 0\\1\end{matrix}\right]\\ &=\frac{\alpha}{2}\left[ \begin{matrix} 1\\1\end{matrix}\right]+ \frac{\alpha}{2}\left[ \begin{matrix} 1\\-1\end{matrix}\right] +\frac{\beta}{2}\left[ \begin{matrix} 1\\1\end{matrix}\right] +\frac{\beta}{2}\left[ \begin{matrix} -1\\1\end{matrix}\right] \\ & =\frac{\alpha}{\sqrt{2}}(|+\rangle+|-\rangle)+\frac{\beta}{\sqrt{2}}(|+\rangle-|-\rangle) \\ & =\frac{\alpha+\beta}{\sqrt{2}}|+\rangle+\frac{\alpha-\beta}{\sqrt{2}}|-\rangle \end{aligned}
∣φ⟩=α∣0⟩+β∣1⟩=α[10]+β[01]=2α[11]+2α[1−1]+2β[11]+2β[−11]=2α(∣+⟩+∣−⟩)+2β(∣+⟩−∣−⟩)=2α+β∣+⟩+2α−β∣−⟩
那么该状态 ∣ φ ⟩ |\varphi\rangle ∣φ⟩ 取 bit 值得概率就分别为:
- 取 ∣ + ⟩ |+\rangle ∣+⟩ 的概率为 ∣ α + β ∣ 2 2 \pmb{\frac{|\alpha+\beta|^2}{2}} 2∣α+β∣22∣α+β∣22∣α+β∣2
- 取 ∣ − ⟩ |-\rangle ∣−⟩ 的概率为 ∣ α − β ∣ 2 2 \pmb{\frac{|\alpha-\beta|^2}{2}} 2∣α−β∣22∣α−β∣22∣α−β∣2
因此,根据状态 ∣ 0 ⟩ |0\rangle ∣0⟩ 和 ∣ 1 ⟩ |1\rangle ∣1⟩ 的不同选择方法,就算是同一个形式的量子比特,其变换结果也发生变化。
3.量子比特对
这里我们讨论两个量子比特组成的量子对及它们的性质。如果用两个经典比特表示信息,可以获取四个状态{00,01,10,11}。但是如果拥有两个量子比特,或者拥有一个量子比特对,他们组成的不重复的量子比特对为 ∣ 00 ⟩ |00\rangle ∣00⟩, ∣ 01 ⟩ |01\rangle ∣01⟩, ∣ 10 ⟩ |10\rangle ∣10⟩ ∣ 11 ⟩ |11\rangle ∣11⟩(也可以写成 ∣ 0 ⟩ ∣ 0 ⟩ , ∣ 0 ⟩ ∣ 1 ⟩ , ∣ 1 ⟩ ∣ 0 ⟩ , ∣ 1 ⟩ ∣ 1 ⟩ |0\rangle|0\rangle,|0\rangle|1\rangle,|1\rangle|0\rangle,|1\rangle|1\rangle ∣0⟩∣0⟩,∣0⟩∣1⟩,∣1⟩∣0⟩,∣1⟩∣1⟩,也就是它们的张量积)。我们选择量子比特的两个极化状态来看四个比特对的叠加状态的表示:
∣ 00 ⟩ = ∣ 0 ⟩ ⊗ ∣ 0 ⟩ = [ 1 0 ] ⊗ [ 1 0 ] = [ 1 0 0 0 ] |00\rangle = |0\rangle \otimes |0\rangle = \left[ \begin{matrix} 1 \\ 0 \end{matrix} \right]\otimes\left[ \begin{matrix} 1 \\ 0 \end{matrix} \right]=\left[ \begin{matrix} 1 \\ 0 \\0\\0 \end{matrix} \right] ∣00⟩=∣0⟩⊗∣0⟩=[10]⊗[10]=⎣⎢⎢⎡1000⎦⎥⎥⎤
∣ 01 ⟩ = ∣ 0 ⟩ ⊗ ∣ 1 ⟩ = [ 1 0 ] ⊗ [ 0 1 ] = [ 0 1 0 0 ] |01\rangle = |0\rangle \otimes |1\rangle = \left[ \begin{matrix} 1 \\ 0 \end{matrix} \right]\otimes\left[ \begin{matrix} 0 \\ 1 \end{matrix} \right]=\left[ \begin{matrix} 0 \\ 1 \\ 0 \\0 \end{matrix} \right] ∣01⟩=∣0⟩⊗∣1⟩=[10]⊗[01]=⎣⎢⎢⎡0100⎦⎥⎥⎤
∣ 10 ⟩ = ∣ 1 ⟩ ⊗ ∣ 0 ⟩ = [ 0 1 ] ⊗ [ 1 0 ] = [ 0 0 1 0 ] |10\rangle = |1\rangle \otimes |0\rangle = \left[ \begin{matrix} 0 \\ 1 \end{matrix} \right]\otimes\left[ \begin{matrix} 1 \\ 0 \end{matrix} \right]=\left[ \begin{matrix} 0 \\0 \\ 1 \\ 0 \end{matrix} \right] ∣10⟩=∣1⟩⊗∣0⟩=[01]⊗[10]=⎣⎢⎢⎡0010⎦⎥⎥⎤
∣
11
⟩
=
∣
1
⟩
⊗
∣
1
⟩
=
[
0
1
]
⊗
[
0
1
]
=
[
0
0
0
1
]
|11\rangle = |1\rangle \otimes |1\rangle = \left[ \begin{matrix} 0 \\ 1 \end{matrix} \right]\otimes\left[ \begin{matrix} 0 \\ 1 \end{matrix} \right]=\left[ \begin{matrix} 0 \\ 0 \\ 0 \\ 1 \end{matrix} \right]
∣11⟩=∣1⟩⊗∣1⟩=[01]⊗[01]=⎣⎢⎢⎡0001⎦⎥⎥⎤ 从叠加状态我们可以看到,它们是四维向量空间的一组正规直交基底。这里我们要注意,量子比特的排列顺序有其特定的含义,即
∣
01
⟩
≠
∣
10
⟩
|01\rangle\neq|10\rangle
∣01⟩=∣10⟩ 。与单个量子比特一样,量子比特对也可以取这些基底状态的叠加状态。一般来说使用复数
α
00
,
α
01
,
α
10
,
α
11
\pmb{\alpha_{00},\alpha_{01},\alpha_{10},\alpha_{11}}
α00,α01,α10,α11α00,α01,α10,α11α00,α01,α10,α11 和基底的组合来表示比特对的状态,量子比特对
∣
ϕ
⟩
|\phi\rangle
∣ϕ⟩ 可以表示为:
∣
φ
⟩
=
α
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
,
α
01
,
α
10
,
α
11
\pmb{\alpha_{00},\alpha_{01},\alpha_{10},\alpha_{11}}
α00,α01,α10,α11α00,α01,α10,α11α00,α01,α10,α11 也需要满足下面的等式:
∣
α
00
∣
2
+
∣
α
01
∣
2
+
∣
α
10
∣
2
+
∣
α
11
∣
2
=
1
|\alpha_{00}|^2+|\alpha_{01}|^2+|\alpha_{10}|^2+|\alpha_{11}|^2=1
∣α00∣2+∣α01∣2+∣α10∣2+∣α11∣2=1
和单个量子比特情况相同,通过测定量子比特对可获得其值,他们的值是经典比特对的值 00,01,10,11 的其中之一。取经典比特对各种值的概率为:
测定结果 | 出现概率 |
---|---|
00 | ∣ ⟨ 00 ∣ φ ⟩ ∣ 2 = ∣ α 00 ∣ 2 \vert\langle00\vert\varphi\rangle\vert^2=\vert\alpha_{00}\vert^2 ∣⟨00∣φ⟩∣2=∣α00∣2 |
01 | ∣ ⟨ 01 ∣ φ ⟩ ∣ 2 = ∣ α 01 ∣ 2 \vert\langle01\vert\varphi\rangle\vert^2=\vert\alpha_{01}\vert^2 ∣⟨01∣φ⟩∣2=∣α01∣2 |
10 | ∣ ⟨ 10 ∣ φ ⟩ ∣ 2 = ∣ α 10 ∣ 2 \vert\langle10\vert\varphi\rangle\vert^2=\vert\alpha_{10}\vert^2 ∣⟨10∣φ⟩∣2=∣α10∣2 |
11 | ∣ ⟨ 11 ∣ φ ⟩ ∣ 2 = ∣ α 11 ∣ 2 \vert\langle11\vert\varphi\rangle\vert^2=\vert\alpha_{11}\vert^2 ∣⟨11∣φ⟩∣2=∣α11∣2 |
在量子比特对的情况下,我们能够只测定其中某一个 qubit 的值。例如,如果我们只测量量子比特对的第一位 qubit 的值:
- 其取 bit 0 的概率等于对整个量子比特对测量得到结果 ∣ ⟨ 00 \vert\langle00 ∣⟨00| φ ⟩ ∣ 2 \varphi\rangle\vert^2 φ⟩∣2 和 ∣ ⟨ 01 ∣ φ ⟩ ∣ 2 \vert\langle01\vert\varphi\rangle\vert^2 ∣⟨01∣φ⟩∣2 的概率之和
- 其取 bit 1 的概率等于对整个量子比特对测量得到结果 ∣ ⟨ 10 \vert\langle10 ∣⟨10| φ ⟩ ∣ 2 \varphi\rangle\vert^2 φ⟩∣2 和 ∣ ⟨ 11 ∣ φ ⟩ ∣ 2 \vert\langle11\vert\varphi\rangle\vert^2 ∣⟨11∣φ⟩∣2 的概率之和
所以对第一位测量得到的结果为:
测定结果 | 出现概率 |
---|---|
0 | ∣ ⟨ 00 ∣ φ ⟩ ∣ 2 + ∣ ⟨ 01 ∣ φ ⟩ ∣ 2 \vert\langle00\vert\varphi\rangle\vert^2+\vert\langle01\vert\varphi\rangle\vert^2 ∣⟨00∣φ⟩∣2+∣⟨01∣φ⟩∣2 |
1 | ∣ ⟨ 10 ∣ φ ⟩ ∣ 2 + ∣ ⟨ 11 ∣ φ ⟩ ∣ 2 \vert\langle10\vert\varphi\rangle\vert^2+\vert\langle11\vert\varphi\rangle\vert^2 ∣⟨10∣φ⟩∣2+∣⟨11∣φ⟩∣2 |
如果只测量量子比特对的一个 qubit 的值,那么剩余一位 qubit 的状态如下所示,第二位的状态要进行一次正规化:
对第一位的测定结果 | 第二位现在的状态 |
---|---|
0 | α 00 ∣ 0 ⟩ + α 01 ∣ 1 ⟩ ∣ α 00 ∣ 2 + ∣ α 01 ∣ 2 \frac{\alpha_{00}\vert0\rangle+\alpha_{01}\vert1\rangle}{\sqrt{\vert\alpha_{00}\vert^2+\vert\alpha_{01}\vert^2}} ∣α00∣2+∣α01∣2α00∣0⟩+α01∣1⟩ |
1 | α 10 ∣ 0 ⟩ + α 11 ∣ 1 ⟩ ∣ α 10 ∣ 2 + ∣ α 11 ∣ 2 \frac{\alpha_{10}\vert0\rangle+\alpha_{11}\vert1\rangle}{\sqrt{\vert\alpha_{10}\vert^2+\vert\alpha_{11}\vert^2}} ∣α10∣2+∣α11∣2α10∣0⟩+α11∣1⟩ |
4.量子比特的基本操作
前面我们说到,对于量子计算机的组成,我们利用量子逻辑门对量子比特进行操作,在这里我们就来了解几个对量子比特进行操作的量子逻辑门。
4.1 对单一量子比特实施运算的逻辑门
4.1.1 量子逻辑非门( bit 反转演算子)
在经典计算机上可以对单一的 bit 用逻辑非门进行经典比特的反转运算,对于 qubit 来说,和经典计算机的非门对应的演算称为 bit 反转演算,该演算对应量子逻辑非门。bit 反转演算将状态
∣
0
⟩
|0\rangle
∣0⟩ 反转成状态
∣
1
⟩
|1\rangle
∣1⟩ ,或将状态
∣
1
⟩
|1\rangle
∣1⟩ 反转成状态
∣
0
⟩
|0\rangle
∣0⟩ 。更具一般性的是关于
∣
0
⟩
|0\rangle
∣0⟩ 和
∣
1
⟩
|1\rangle
∣1⟩ 的叠加状态,有关 qubit 的量子演算对于量子叠加状态具有线性性质,即对于叠加状态
α
∣
0
⟩
+
β
∣
1
⟩
\alpha|0\rangle+\beta|1\rangle
α∣0⟩+β∣1⟩ 执行 bit 反转演算的结果是
α
∣
1
⟩
+
β
∣
0
⟩
\alpha|1\rangle+\beta|0\rangle
α∣1⟩+β∣0⟩
量子逻辑非门(bit反转演算子)能够用下列 2×2 的泡利矩阵 σ x \pmb{\sigma_x} σxσxσx 表示并称为 X-Gate:
X = [ 0 1 1 0 ] X=\left[ \begin{matrix} 0 &1 \\1 & 0 \end{matrix} \right] X=[0110] 对于状态 α ∣ 0 ⟩ + β ∣ 1 ⟩ = [ α β ] \alpha|0\rangle+\beta|1\rangle=\left[ \begin{matrix} \alpha \\ \beta \end{matrix} \right] α∣0⟩+β∣1⟩=[αβ] 实施 bit 反转演算将得到如下结果:
X [ α β ] = [ 0 1 1 0 ] [ α β ] = [ β α ] X\left[ \begin{matrix} \alpha \\ \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} \beta \\ \alpha \end{matrix} \right] X[αβ]=[0110][αβ]=[βα] 该结果就是状态 α ∣ 1 ⟩ + β ∣ 0 ⟩ \alpha|1\rangle+\beta|0\rangle α∣1⟩+β∣0⟩ 的向量表示。
以后我们对 qubit 量子状态 ∣ ϕ ⟩ |\phi\rangle ∣ϕ⟩ 做量子 bit 反转演算,所得结果直接用 X ∣ ϕ ⟩ X|\phi\rangle X∣ϕ⟩ 来表示。
4.1.2 位相翻转门(位相翻转演算子)
量子计算机中还有一种操作是对状态
∣
0
⟩
|0\rangle
∣0⟩ 不改变,对状态
∣
1
⟩
|1\rangle
∣1⟩ 发生位相翻转,变成
−
∣
1
⟩
-|1\rangle
−∣1⟩ 。该运算能够用泡利矩阵
σ
z
\pmb{\sigma_z}
σzσzσz 表示如下,也称为 Z-Gate:
Z
=
[
1
0
0
−
1
]
Z=\left[ \begin{matrix} 1 & 0 \\ 0 & -1 \end{matrix} \right]
Z=[100−1]
对于状态
α
∣
0
⟩
+
β
∣
1
⟩
=
[
α
β
]
\alpha|0\rangle+\beta|1\rangle=\left[ \begin{matrix} \alpha \\ \beta \end{matrix} \right]
α∣0⟩+β∣1⟩=[αβ] 实施位相翻转演算将得到如下结果:
Z
[
α
β
]
=
[
1
0
0
−
1
]
[
α
β
]
=
[
α
−
β
]
Z\left[ \begin{matrix} \alpha \\ \beta \end{matrix} \right]=\left[ \begin{matrix} 1 & 0 \\0 & -1 \end{matrix} \right]\left[ \begin{matrix} \alpha \\ \beta \end{matrix} \right]=\left[ \begin{matrix} \alpha \\ -\beta \end{matrix} \right]
Z[αβ]=[100−1][αβ]=[α−β]
4.1.3 Hadamard 门(Hadamard变换演算)
先来看一下 Hadamard 变换的矩阵表示:
H
=
1
2
[
1
1
1
−
1
]
H=\frac{1}{\sqrt{2}}\left[ \begin{matrix} 1 & 1 \\ 1 & -1 \end{matrix} \right]
H=21[111−1]
该矩阵又称为 H-Gate。
我们对状态
∣
0
⟩
|0\rangle
∣0⟩ 和
∣
1
⟩
|1\rangle
∣1⟩ 进行 Hadamard 变换:
H
∣
0
⟩
=
1
2
[
1
1
1
−
1
]
[
1
0
]
=
1
2
[
1
1
]
=
∣
+
⟩
=
∣
0
⟩
+
∣
1
⟩
2
\begin{aligned} H|0\rangle & =\frac{1}{\sqrt{2}}\left[ \begin{matrix} 1 & 1 \\ 1 & -1 \end{matrix} \right] \left[ \begin{matrix} 1 \\ 0 \end{matrix} \right] \\ & =\frac{1}{\sqrt{2}}\left[ \begin{matrix} 1 \\ 1 \end{matrix} \right] = |+\rangle \\ &=\frac{|0\rangle+|1\rangle}{\sqrt{2}} \end{aligned}
H∣0⟩=21[111−1][10]=21[11]=∣+⟩=2∣0⟩+∣1⟩
H ∣ 1 ⟩ = 1 2 [ 1 1 1 − 1 ] [ 0 1 ] = 1 2 [ 1 − 1 ] = ∣ − ⟩ = ∣ 0 ⟩ − ∣ 1 ⟩ 2 \begin{aligned} H|1\rangle & =\frac{1}{\sqrt{2}}\left[ \begin{matrix} 1 & 1 \\ 1 & -1 \end{matrix} \right] \left[ \begin{matrix} 0 \\ 1 \end{matrix} \right] \\ & =\frac{1}{\sqrt{2}}\left[ \begin{matrix} 1 \\ -1 \end{matrix} \right] = |-\rangle \\ &=\frac{|0\rangle-|1\rangle}{\sqrt{2}} \end{aligned} H∣1⟩=21[111−1][01]=21[1−1]=∣−⟩=2∣0⟩−∣1⟩
从变换可以看出这个 H-Gate 将 ∣ 0 ⟩ |0\rangle ∣0⟩ 和 ∣ 1 ⟩ |1\rangle ∣1⟩ 分别变成了 ∣ + ⟩ |+\rangle ∣+⟩ 和 ∣ − ⟩ |-\rangle ∣−⟩ ,即 ∣ 0 ⟩ |0\rangle ∣0⟩ 和 ∣ 1 ⟩ |1\rangle ∣1⟩ 的均匀叠加态。Hadamard 门在保密通信中有很有效的作用。
对于 H 2 = H H = [ 1 1 1 − 1 ] [ 1 1 1 − 1 ] = [ 1 0 0 1 ] = I H^2=HH=\left[ \begin{matrix} 1 & 1 \\ 1 & -1 \end{matrix} \right]\left[ \begin{matrix} 1 & 1 \\ 1 & -1 \end{matrix} \right]=\left[ \begin{matrix} 1 & 0 \\ 0 &1 \end{matrix} \right]=I H2=HH=[111−1][111−1]=[1001]=I,我们可以发现连续做两次 Hadamard 变换的演算等于一次恒等变换。
4.1.4 对量子操作所用矩阵的讨论
一般来说,在量子系统中对单一 qubit 实施的量子演算都能用 2×2 的矩阵表示。但是并非所有的 2×2 矩阵都可以作为单一 qubit 的量子演算矩阵,那么我们看看 2×2 矩阵能够作为单一 qubit 的量子演算矩阵的条件。
首先对一任意的量子状态
∣
φ
⟩
=
α
∣
0
⟩
+
β
∣
1
⟩
|\varphi\rangle=\alpha|0\rangle+\beta|1\rangle
∣φ⟩=α∣0⟩+β∣1⟩,必须满足等式
∣
α
∣
2
+
∣
β
∣
2
=
1
|\alpha|^2+|\beta|^2=1
∣α∣2+∣β∣2=1。因此对于量子状态
∣
ϕ
⟩
|\phi\rangle
∣ϕ⟩ 做任意的量子演算 U 获得新的状态:
U
∣
φ
⟩
=
[
α
′
β
′
]
U|\varphi\rangle = \left[\begin{matrix} \alpha' \\ \beta' \end{matrix} \right]
U∣φ⟩=[α′β′]
也必须满足规范化要求,即必须满足
∣
α
′
∣
2
+
∣
β
′
∣
2
=
1
|\alpha'|^2+|\beta'|^2=1
∣α′∣2+∣β′∣2=1,由线性代数可知,满足这种条件的 2×2 必须是酉矩阵(幺正算符),而 复矩阵是酉矩阵的充分必要条件是其必须满足以下方程:
U
H
U
=
I
U^HU=I
UHU=I 此处
U
H
U^H
UH 表示它的共轭转置复数。
对于上面的 X-Gate,Z-Gate,Hadamard门,对他们进行验证会发现都满足上式。
事实上,判断 2×2 矩阵是否能够称为单个 qubit 量子状态的演算子的条件是判断其是否为酉矩阵。从理论上将,所有的酉矩阵都能够称为量子演算算子,但是对于某一个酉矩阵,它能否成为实际操作工程中的量子计算算子,还要根据它的结果能否表达某一特定的物理现象,因此能够成为量子演算算符的酉矩阵是有限的。
一般来说,酉矩阵的乘积依然是酉矩阵,所以以上介绍的量子演算子的组合一定还是演算子。下面集中了以上讨论的三个量子逻辑门:
4.2 对两个量子比特实施运算的逻辑门
对两个 qubit 常用的演算只有一个,即 Controlled - NOT - Gate ,下面我们将介绍一下这个对于两个 qubit 来说最基本的一个演算:控制非门。
Controlled - NOT - Gate 的演算如下图所示:
Controlled - NOT - Gate 中,当输入为
∣
x
y
⟩
|xy\rangle
∣xy⟩ 时,其输出为
∣
x
x
⊗
y
⟩
|xx\otimes y\rangle
∣xx⊗y⟩ (或表示为
∣
x
⟩
∣
x
⊗
y
⟩
|x\rangle|x\otimes y\rangle
∣x⟩∣x⊗y⟩),下面列出了 Controlled - NOT - Gate 输入、输出的关系:
输入状态 | 输出状态 |
---|---|
∣ 00 ⟩ \vert00\rangle ∣00⟩ | ∣ 00 ⟩ \vert00\rangle ∣00⟩ |
∣ 01 ⟩ \vert01\rangle ∣01⟩ | ∣ 01 ⟩ \vert01\rangle ∣01⟩ |
∣ 10 ⟩ \vert10\rangle ∣10⟩ | ∣ 11 ⟩ \vert11\rangle ∣11⟩ |
∣ 11 ⟩ \vert11\rangle ∣11⟩ | ∣ 10 ⟩ \vert10\rangle ∣10⟩ |
分析输出状态可以知道:Controlled - NOT - Gate 的控制被限制在第一个 qubit
∣
x
⟩
|x\rangle
∣x⟩,当第一个 qubit 为 1 时,此时的第二个 qubit 发生翻转,当第一个 qubit 为 0 时整个状态不发生改变。Controlled - NOT - Gate 对于叠加状态是线性算子。也就是说当一叠加态:
c
00
∣
00
⟩
+
c
01
∣
01
⟩
+
c
10
∣
10
⟩
+
c
11
∣
11
⟩
c_{00}|00\rangle+c_{01}|01\rangle+c_{10}|10\rangle+c_{11}|11\rangle
c00∣00⟩+c01∣01⟩+c10∣10⟩+c11∣11⟩ 被送入 Controlled - NOT - Gate 时,其输出状态将是:
c
00
∣
00
⟩
+
c
01
∣
01
⟩
+
c
11
∣
10
⟩
+
c
10
∣
10
⟩
c_{00}|00\rangle+c_{01}|01\rangle+c_{11}|10\rangle+c_{10}|10\rangle
c00∣00⟩+c01∣01⟩+c11∣10⟩+c10∣10⟩
Controlled - NOT - Gate 是一个 2 位 qubit 输入和 2 位 qubit 输出的量子回路,因此它是没有能耗的可逆运算。
我们再来看看 Controlled - NOT - Gate 的矩阵表示,如果 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{matrix} 1 \\ 0 \\0\\0 \end{matrix} \right] |01\rangle =\left[ \begin{matrix} 0 \\ 1 \\ 0 \\ 0 \end{matrix} \right] |10\rangle =\left[ \begin{matrix} 0 \\ 0 \\ 1 \\ 0 \end{matrix} \right] |11\rangle =\left[ \begin{matrix} 0 \\ 0 \\ 0 \\ 1 \end{matrix} \right]
∣00⟩=⎣⎢⎢⎡1000⎦⎥⎥⎤∣01⟩=⎣⎢⎢⎡0100⎦⎥⎥⎤∣10⟩=⎣⎢⎢⎡0010⎦⎥⎥⎤∣11⟩=⎣⎢⎢⎡0001⎦⎥⎥⎤ 则 Controlled - NOT - Gate 可以由下面的 4×4 的酉矩阵表示:
U
=
[
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
]
U=\left[\begin{matrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{matrix} \right]
U=⎣⎢⎢⎡1000010000010010⎦⎥⎥⎤
而一个叠加态也可以表示为列向量的形式:
c
00
∣
00
⟩
+
c
01
∣
01
⟩
+
c
10
∣
10
⟩
+
c
11
∣
11
⟩
=
[
c
00
c
01
c
10
c
11
]
c_{00}|00\rangle+c_{01}|01\rangle+c_{10}|10\rangle+c_{11}|11\rangle= \left[ \begin{matrix} c_{00} \\ c_{01} \\ c_{10} \\ c_{11} \end{matrix} \right]
c00∣00⟩+c01∣01⟩+c10∣10⟩+c11∣11⟩=⎣⎢⎢⎡c00c01c10c11⎦⎥⎥⎤
它和 Controlled - NOT - Gate 的矩阵的乘积结果为:
U
[
c
00
c
01
c
10
c
11
]
=
[
c
00
c
01
c
11
c
10
]
=
c
00
∣
00
⟩
+
c
01
∣
01
⟩
+
c
11
∣
10
⟩
+
c
10
∣
11
⟩
U\left[ \begin{matrix} c_{00} \\ c_{01} \\ c_{10} \\ c_{11} \end{matrix} \right]= \left[ \begin{matrix} c_{00} \\ c_{01} \\ c_{11} \\ c_{10} \end{matrix} \right]= c_{00}|00\rangle+c_{01}|01\rangle+c_{11}|10\rangle+c_{10}|11\rangle
U⎣⎢⎢⎡c00c01c10c11⎦⎥⎥⎤=⎣⎢⎢⎡c00c01c11c10⎦⎥⎥⎤=c00∣00⟩+c01∣01⟩+c11∣10⟩+c10∣11⟩
满足上面用线性运算得到的状态。