前言
本文需要对量子计算有一定的了解。需要的请翻阅我的量子专栏,这里不再涉及基础知识的科普。
量子相位反冲是什么?
相位反转(phase kickback)是量子计算中的一种现象,通常在量子算法中使用,例如量子相位估计算法。相位反冲可以用于将某些运算转化为在控制比特上的操作,从而实现更高效的量子算法。
相位反冲的主要思想是将一个控制比特和一个目标比特连接在一起,然后将目标比特进行某种操作,这个操作的相位会反冲到控制比特上,使得控制比特的状态发生改变。这样,我们可以通过测量控制比特的状态来获取目标比特上的信息。
例如,在量子相位估计算法中,我们想要估计一个相位角θ,我们可以构造一个相应的幺正运算U,将一个有用的状态|ψ⟩作为目标比特,将一个初始状态|0⟩作为控制比特,并将它们连接在一起。然后,对控制比特应用Hadamard门,使得它处于|+⟩状态,接着对U进行一个特定的操作,使得它的相位角为2kθ,其中k是控制比特的状态,最后再对控制比特进行测量,从而可以得到θ的估计。在这个过程中,相位反冲起到了关键作用,将目标比特的相位信息传递给了控制比特。
理解相位反冲
假设我们有一个叠加态 ∣ + ⟩ = 1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) |+\rangle = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle) ∣+⟩=21(∣0⟩+∣1⟩),和一个初始状态为 ∣ 0 ⟩ |0\rangle ∣0⟩ 的控制比特和目标比特。我们可以将它们放在一个线路中,并将控制比特上的Hadamard门作用在上面,将叠加态 ∣ + ⟩ |+\rangle ∣+⟩ 与控制比特进行叠加,然后再应用CNOT门,将控制比特作为控制量子比特,目标比特作为目标量子比特。 这个操作的结果是
1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) ⊗ ∣ 0 ⟩ → Hadamard on control bit 1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) ( ∣ 0 ⟩ − ∣ 1 ⟩ ) → CNOT 1 2 ( ∣ 00 ⟩ − ∣ 01 ⟩ + ∣ 10 ⟩ − ∣ 11 ⟩ ) \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle) \otimes |0\rangle \xrightarrow{\text{Hadamard on control bit}} \frac{1}{2}(|0\rangle + |1\rangle)(|0\rangle - |1\rangle) \xrightarrow{\text{CNOT}} \frac{1}{2}(|00\rangle - |01\rangle + |10\rangle - |11\rangle) 21(∣0⟩+∣1⟩)⊗∣0⟩Hadamard on control bit21(∣0⟩+∣1⟩)(∣0⟩−∣1⟩)CNOT21(∣00⟩−∣01⟩+∣10⟩−∣11⟩)
控制比特的状态(第一个量子比特)已经传递到了目标比特的相位上。这就是相位反冲技术的一个例子。为了更好的理解他,对下面的一些概念进行普及:
正交归一化叠加态
1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) ⊗ ∣ 0 ⟩ → 1 2 ( ∣ 00 ⟩ + ∣ 11 ⟩ ) , 1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) ⊗ ∣ 1 ⟩ → 1 2 ( ∣ 01 ⟩ + ∣ 10 ⟩ ) \begin{aligned} \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)\otimes|0\rangle &\rightarrow \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle), \ \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)\otimes|1\rangle &\rightarrow \frac{1}{\sqrt{2}}(|01\rangle + |10\rangle) \end{aligned} 21(∣0⟩+∣1⟩)⊗∣0⟩→21(∣00⟩+∣11⟩), 21(∣0⟩+∣1⟩)⊗∣1⟩→21(∣01⟩+∣10⟩)
这个量子态可以写成:
1 2 ( ∣ 0 ⟩ ⊗ ∣ 0 ⟩ + ∣ 1 ⟩ ⊗ ∣ 1 ⟩ ) \frac{1}{\sqrt{2}}(|0\rangle\otimes|0\rangle + |1\rangle\otimes|1\rangle) 21(∣0⟩⊗∣0⟩+∣1⟩⊗∣1⟩)
其中 ∣ 0 ⟩ ⊗ ∣ 0 ⟩ |0\rangle\otimes|0\rangle ∣0⟩⊗∣0⟩和 ∣ 1 ⟩ ⊗ ∣ 1 ⟩ |1\rangle\otimes|1\rangle ∣1⟩⊗∣1⟩是基矢量,也就是正交的。因此,这个量子态是一个正交归一化叠加态。
假设有一个初始态 ∣ ψ ⟩ = ∣ 0 ⟩ |\psi\rangle = |0\rangle ∣ψ⟩=∣0⟩,然后应用了一个 Hadamard 门,得到的叠加态为: ∣ ψ ′ ⟩ = H ∣ ψ ⟩ = 1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) |\psi'\rangle=H|\psi\rangle = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle) ∣ψ′⟩=H∣ψ⟩=21(∣0⟩+∣1⟩)
接着,将 ∣ ψ ′ ⟩ |\psi'\rangle ∣ψ′⟩ 作为控制态,和一个目标态 ∣ ψ ′ ′ ⟩ = ∣ 0 ⟩ |\psi''\rangle = |0\rangle ∣ψ′′⟩=∣0⟩ 经过 CNOT 门,得到的最终态为: ∣ ψ f i n a l ⟩ = 1 2 ( ∣ 00 ⟩ + ∣ 11 ⟩ ) |\psi_{final}\rangle = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle) ∣ψfinal⟩=21(∣00⟩+∣11⟩)
此时,第一个量子比特处于正交归一化叠加态。而这个过程中就涉及了相位反演。
在量子力学中,一个系统可以被表示为其基态的叠加,每个基态都是一个量子态。如果基态是正交的且归一化,那么它们可以构成一个正交归一化基。一个系统也可以被表示为不同的基的线性组合,这些基构成正交归一化叠加态。这些叠加态不仅是描述量子态的方便工具,而且在许多实际应用中也具有重要作用,比如在量子计算和量子通信中。
下面是系统的概念:
正交归一化叠加态
: 在量子力学中,一个量子态是指一个量子系统所处的状态。量子态可以用一个或多个复数表示,其中每个复数都对应于系统的一个可能状态。当涉及到多个态时,为了避免出现混乱,需要对这些态进行归一化和正交化。
归一化
是指将一个向量除以其长度,以使其长度等于1。在量子力学中,归一化态是一个长度为1的量子态,它是由量子态中的每个系数除以归一化系数而得到的。归一化态在量子力学中非常重要,因为在某些情况下,只有归一化的态才能表示物理上可观测的状态。为了理解这个概念,下面我们来看一些例子:
1 2 ∣ 000 ⟩ + 3 2 ∣ 111 ⟩ \frac{1}{2}|000\rangle + \frac{\sqrt{3}}{2}|111\rangle 21∣000⟩+23∣111⟩:这是一个三量子比特的量子态。它的归一化系数为 1 4 + 3 4 = 1 \sqrt{\frac{1}{4} + \frac{3}{4}} = 1 41+43=1。
1 3 ∣ 000 ⟩ + 2 3 ∣ 111 ⟩ \frac{1}{\sqrt{3}}|000\rangle + \sqrt{\frac{2}{3}}|111\rangle 31∣000⟩+32∣111⟩:这是一个三量子比特的量子态。它的归一化系数为 1 3 + 2 3 = 1 \sqrt{\frac{1}{3} + \frac{2}{3}} = 1 31+32=1。
正交
是指两个向量之间的内积为0,或者说两个向量之间的夹角为90度。在量子力学中,正交态是两个不同的量子态之间的内积为0的态。这意味着这些态可以互相区分并被用于描述系统的不同状态。例如,如果一个系统可以处于状态
∣
0
⟩
|0\rangle
∣0⟩或
∣
1
⟩
|1\rangle
∣1⟩中,那么这两个态是正交的,因为它们的内积为0。
总之,正交归一化叠加态是指在一个量子系统中,多个归一化态之间是正交的,并且它们的叠加形成了一个新的归一化态。在量子计算中,正交归一化叠加态是一种常用的量子态,因为它们具有良好的可操作性和测量性质。常见的正交归一化叠加态包括Hadamard变换的超位置态和Bell态。
1 2 ( ∣ 00 ⟩ + ∣ 11 ⟩ ) \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle) 21(∣00⟩+∣11⟩):这是一个Bell态,也是一个常用的量子态。它可以通过将两个qubit都置于 ∣ + ⟩ |+\rangle ∣+⟩态并施加CNOT门来制备。
1 2 ( ∣ 00 ⟩ + ∣ 01 ⟩ ) \frac{1}{\sqrt{2}}(|00\rangle + |01\rangle) 21(∣00⟩+∣01⟩):这是一个比特的叠加态。它可以通过对一个qubit施加Hadamard门来制备。
相位(全局与相对)
全局相位
全局相位是指一个量子态的相位旋转,它不会改变该量子态的物理性质。在量子力学中,一个量子态可以表示成幺正算符作用于某个基态,而幺正算符通常包含一个相位因子。对于一个给定的量子态,如果我们对这个幺正算符中的相位进行一个统一的改变,那么这个量子态就会产生一个全局相位的变化。这个全局相位的变化不会影响任何可观测量的测量结果,因此被视为无用的信息。
一个例子是两个量子比特的纠缠态
∣
ψ
⟩
=
1
2
(
∣
01
⟩
−
∣
10
⟩
)
|\psi\rangle = \frac{1}{\sqrt{2}}(|01\rangle - |10\rangle)
∣ψ⟩=21(∣01⟩−∣10⟩),这个态有一个全局相位因子
−
1
-1
−1,并且有一个相对相位因子
i
i
i。
全局相位因子表现为态矢量整体乘上一个复数,比如
e
i
θ
e^{i\theta}
eiθ,其中
θ
\theta
θ 是一个常数。在上面的例子中,
−
1
-1
−1 就是这个态的全局相位因子。
相对相位因子表现为态矢量中不同基态系数之间的复数因子,比如上面的例子中的
i
i
i。在这个例子中,
∣
01
⟩
|01\rangle
∣01⟩ 和
∣
10
⟩
|10\rangle
∣10⟩ 的系数之间的相对相位因子是
i
i
i。
在量子力学中,一个态矢量 ∣ ψ ⟩ |\psi\rangle ∣ψ⟩ 可以表示为相对相位和全局相位的乘积形式: ∣ ψ ⟩ = e i γ e i θ ∣ u ⟩ ∣ψ⟩=e^{iγ}e^{iθ}|u⟩ ∣ψ⟩=eiγeiθ∣u⟩
其中 ∣ u ⟩ |u\rangle ∣u⟩ 是一个固定的态矢量, θ \theta θ 是相对相位, γ \gamma γ 是全局相位。相对相位指的是相对于某个基态 ∣ u ⟩ |u\rangle ∣u⟩ 的相位,而全局相位是指整个态矢量的相位。
首先,假设我们有一个两量子比特的纯态 ∣ ψ ⟩ |\psi\rangle ∣ψ⟩,其中第一个量子比特的状态是 ∣ 0 ⟩ |0\rangle ∣0⟩,第二个量子比特的状态为
∣ ψ 2 ⟩ = α ∣ 0 ⟩ + β ∣ 1 ⟩ . |\psi_2\rangle = \alpha|0\rangle + \beta|1\rangle. ∣ψ2⟩=α∣0⟩+β∣1⟩.
假设我们在第一个量子比特上施加一个相位门 R z ( θ ) R_z(\theta) Rz(θ),我们可以得到如下的纯态:
∣ ψ ′ ⟩ = R z ( θ ) ∣ ψ ⟩ = ∣ 0 ⟩ ( α ∣ 0 ⟩ + β e i θ ∣ 1 ⟩ ) . |\psi'\rangle = R_z(\theta)|\psi\rangle = |0\rangle(\alpha|0\rangle + \beta e^{i\theta}|1\rangle). ∣ψ′⟩=Rz(θ)∣ψ⟩=∣0⟩(α∣0⟩+βeiθ∣1⟩).
现在,我们来计算相对相位。设 ∣ ψ 1 ⟩ = ∣ 0 ⟩ |\psi_1\rangle = |0\rangle ∣ψ1⟩=∣0⟩,则
⟨ ψ 1 ∣ ψ ′ ⟩ = ⟨ 0 ∣ 0 ⟩ ( α ⟨ 0 ∣ 0 ⟩ + β e i θ ⟨ 0 ∣ 1 ⟩ ) = α . \langle\psi_1|\psi'\rangle = \langle 0|0\rangle(\alpha\langle 0|0\rangle + \beta e^{i\theta}\langle 0|1\rangle) = \alpha. ⟨ψ1∣ψ′⟩=⟨0∣0⟩(α⟨0∣0⟩+βeiθ⟨0∣1⟩)=α.
类似地,设 ∣ ψ 1 ⟩ = ∣ 1 ⟩ |\psi_1\rangle = |1\rangle ∣ψ1⟩=∣1⟩,则
⟨ ψ 1 ∣ ψ ′ ⟩ = ⟨ 1 ∣ 0 ⟩ ( α ⟨ 0 ∣ 1 ⟩ + β e i θ ⟨ 1 ∣ 1 ⟩ ) = β e i θ . \langle\psi_1|\psi'\rangle = \langle 1|0\rangle(\alpha\langle 0|1\rangle + \beta e^{i\theta}\langle 1|1\rangle) = \beta e^{i\theta}. ⟨ψ1∣ψ′⟩=⟨1∣0⟩(α⟨0∣1⟩+βeiθ⟨1∣1⟩)=βeiθ.
因此,我们可以得到相对相位为 θ \theta θ。
现在,我们来看一个有全局相位的例子。假设我们的初始态为
∣ ψ ⟩ = 1 2 ( ∣ 01 ⟩ − ∣ 10 ⟩ ) . |\psi\rangle = \frac{1}{\sqrt{2}}(|01\rangle - |10\rangle). ∣ψ⟩=21(∣01⟩−∣10⟩).
我们来计算施加相位门 R z ( θ ) R_z(\theta) Rz(θ) 之后的态。首先,我们需要将 R z ( θ ) R_z(\theta) Rz(θ) 展开成矩阵形式:
R z ( θ ) = [ e − i θ / 2 0 0 e i θ / 2 ] . R_z(\theta) = \begin{bmatrix} e^{-i\theta/2} & 0 \\ 0 & e^{i\theta/2} \end{bmatrix}. Rz(θ)=[e−iθ/200eiθ/2].
对第一个量子比特施加 R z ( θ ) R_z(\theta) Rz(θ) 门后,我们得到的新态为:
∣ ψ ′ ⟩ = 1 2 ( e − i θ / 2 ∣ 0 ⟩ ∣ 1 ⟩ − e i θ / 2 ∣ 1 ⟩ ∣ 0 ⟩ ) . |\psi'\rangle = \frac{1}{\sqrt{2}}(e^{-i\theta/2}|0\rangle|1\rangle - e^{i\theta/2}|1\rangle|0\rangle). ∣ψ′⟩=21(e−iθ/2∣0⟩∣1⟩−eiθ/2∣1⟩∣0⟩).
现在,我们来计算两个态的内积:
⟨ ψ ∣ ψ ′ ⟩ = 1 2 [ 1 − 1 ] [ e − i θ / 2 − e i θ / 2 ] = − 1 2 e i θ / 2 . \langle\psi|\psi'\rangle = \frac{1}{\sqrt{2}}\begin{bmatrix} 1 & -1 \end{bmatrix}\begin{bmatrix} e^{-i\theta/2} \ -e^{i\theta/2} \end{bmatrix} = -\frac{1}{\sqrt{2}}e^{i\theta/2}. ⟨ψ∣ψ′⟩=21[1−1][e−iθ/2 −eiθ/2]=−21eiθ/2.
由于内积的结果中有相位 e i θ / 2 e^{i\theta/2} eiθ/2,所以我们称这个量子态有全局相位。全局相位是一个复数,它可以表示为 θ = e i ϕ \theta= e^{i\phi} θ=eiϕ,其中 ϕ \phi ϕ是相位角。当我们对一个量子比特施加一个全局相位 θ \theta θ时,其密度矩阵的形式会发生变化,但在测量方面并没有影响。因此,全局相位通常被认为是量子态的“不可观测量”。
考虑一个单量子比特系统的初始状态为 ∣ ψ ⟩ = α ∣ 0 ⟩ + β ∣ 1 ⟩ |\psi\rangle=\alpha|0\rangle+\beta|1\rangle ∣ψ⟩=α∣0⟩+β∣1⟩,其中 α \alpha α和 β \beta β是复数且满足 ∣ α ∣ 2 + ∣ β ∣ 2 = 1 |\alpha|^2+|\beta|^2=1 ∣α∣2+∣β∣2=1。假设我们施加一个全局相位 θ = e i ϕ \theta= e^{i\phi} θ=eiϕ,则量子态变为
∣ ψ ′ ⟩ = e i ϕ ( α ∣ 0 ⟩ + β ∣ 1 ⟩ ) |\psi'\rangle=e^{i\phi}(\alpha|0\rangle+\beta|1\rangle) ∣ψ′⟩=eiϕ(α∣0⟩+β∣1⟩)
我们可以将这个量子态写成极坐标形式:
∣ ψ ′ ⟩ = ∣ α ∣ e i ( ϕ + θ 1 ) ∣ 0 ⟩ + ∣ β ∣ e i ( ϕ + θ 2 ) ∣ 1 ⟩ |\psi'\rangle=|\alpha|e^{i(\phi+\theta_1)}|0\rangle+|\beta|e^{i(\phi+\theta_2)}|1\rangle ∣ψ′⟩=∣α∣ei(ϕ+θ1)∣0⟩+∣β∣ei(ϕ+θ2)∣1⟩
其中, θ 1 \theta_1 θ1和 θ 2 \theta_2 θ2是 α \alpha α和 β \beta β的相位角, θ 1 + θ 2 = π \theta_1+\theta_2=\pi θ1+θ2=π。
可以看出,全局相位 θ \theta θ只是改变了量子态中的全局相位,而不影响相对相位。因此,全局相位通常被忽略,因为它并不影响测量结果或量子计算中的其他操作。
相对相位
与全局相位相对的是相对相位,它指的是两个量子态之间的相对相位差异。
假设有两个量子态
∣
ψ
1
⟩
|\psi_1\rangle
∣ψ1⟩ 和
∣
ψ
2
⟩
|\psi_2\rangle
∣ψ2⟩,它们的全局相位是一样的,即它们都被乘上了同一个复数因子
e
i
θ
e^{i\theta}
eiθ,其中
θ
\theta
θ 是相位角度,那么这两个量子态可以表示为:
∣
ψ
1
⟩
=
e
i
θ
∣
ϕ
⟩
|\psi_1\rangle=e^{i\theta}|\phi\rangle
∣ψ1⟩=eiθ∣ϕ⟩
∣
ψ
1
⟩
=
e
i
θ
∣
φ
⟩
|\psi_1\rangle=e^{i\theta}|\varphi\rangle
∣ψ1⟩=eiθ∣φ⟩
其中 ∣ ϕ ⟩ |\phi\rangle ∣ϕ⟩ 和 ∣ φ ⟩ |\varphi\rangle ∣φ⟩ 是两个不同的量子态。如果我们现在对 ∣ ψ 1 ⟩ |\psi_1\rangle ∣ψ1⟩ 和 ∣ ψ 2 ⟩ |\psi_2\rangle ∣ψ2⟩ 进行测量,它们所对应的概率幅值的比值为:
⟨ ψ 1 ∣ ψ 2 ⟩ ∣ ⟨ ψ 1 ∣ ψ 2 ⟩ ∣ = e i ϕ \frac{\langle\psi_1|\psi_2\rangle}{|\langle\psi_1|\psi_2\rangle|}=e^{i\phi} ∣⟨ψ1∣ψ2⟩∣⟨ψ1∣ψ2⟩=eiϕ
其中
ϕ
\phi
ϕ 是
∣
ϕ
⟩
|\phi\rangle
∣ϕ⟩ 和
∣
φ
⟩
|\varphi\rangle
∣φ⟩ 之间的相对相位差。这个相对相位差是全局相位角度
θ
\theta
θ 的函数,而不是
∣
ϕ
⟩
|\phi\rangle
∣ϕ⟩ 和
∣
φ
⟩
|\varphi\rangle
∣φ⟩ 的函数。因此,相对相位差是不受全局相位影响的,只与量子态
∣
ϕ
⟩
|\phi\rangle
∣ϕ⟩ 和
∣
φ
⟩
|\varphi\rangle
∣φ⟩ 有关。
因此,我们可以通过改变
∣
ϕ
⟩
|\phi\rangle
∣ϕ⟩ 和
∣
φ
⟩
|\varphi\rangle
∣φ⟩ 之间的相对相位差来改变它们之间的区别。这也就是为什么在量子计算中,相对相位非常重要,因为它可以被用来实现量子计算中的一些关键操作,比如量子傅里叶变换和量子相位估计。
总结一下,相对相位是不受全局相位影响的量子态之间的相位差,它可以被用来描述不同量子态之间的区别,并且在量子计算中有重要的应用。
相位反冲的例子
ex1)
∣
+
⟩
=
1
2
(
∣
0
⟩
+
∣
1
⟩
)
|+\rangle= \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)
∣+⟩=21(∣0⟩+∣1⟩)
0
⊗
∣
+
⟩
=
1
2
(
∣
00
⟩
+
∣
01
⟩
)
→
CNOT-2
1
2
(
∣
00
⟩
+
∣
11
⟩
)
0\otimes|+\rangle= \frac{1}{\sqrt{2}}(|00\rangle+|01\rangle) \xrightarrow{\text{CNOT-2}} \frac{1}{\sqrt{2}}(|00\rangle+|11\rangle)
0⊗∣+⟩=21(∣00⟩+∣01⟩)CNOT-221(∣00⟩+∣11⟩)
U
f
:
1
2
(
∣
00
⟩
+
∣
11
⟩
)
→
U
1
2
(
∣
0
⟩
(
−
1
)
f
(
0
)
∣
0
⟩
+
∣
1
⟩
(
−
1
)
f
(
1
)
1
⟩
)
U_f: \frac{1}{\sqrt{2}}(|00\rangle+|11\rangle) \xrightarrow{\text{U}} \frac{1}{\sqrt{2}}(|0\rangle(-1)^{f(0)}|0\rangle+|1\rangle(-1)^{f(1)}1\rangle)
Uf:21(∣00⟩+∣11⟩)U21(∣0⟩(−1)f(0)∣0⟩+∣1⟩(−1)f(1)1⟩)
其中, ∣ 0 ⟩ |0\rangle ∣0⟩ 和 ∣ 1 ⟩ |1\rangle ∣1⟩ 分别表示量子比特的基态, ∣ + ⟩ |+\rangle ∣+⟩ 表示 ∣ 0 ⟩ |0\rangle ∣0⟩ 和 ∣ 1 ⟩ |1\rangle ∣1⟩ 的正交归一化叠加态, ⊗ \otimes ⊗ 表示张量积, U f U_f Uf 表示一个由 f f f 定义的量子门, ( − 1 ) f ( x ) (-1)^{f(x)} (−1)f(x) 是一个复数相位,其取值为 + 1 +1 +1 或 − 1 -1 −1,具体取决于 f ( x ) f(x) f(x) 的值。即测量第一个量子比特的结果时,如果结果为 ∣ 0 ⟩ |0\rangle ∣0⟩ ,则说明第二位的结果也是 ∣ 0 ⟩ |0\rangle ∣0⟩ ,此时并没有对第二个量子位进行测量,但是我们知道了第二个量子位的信息。这就是因为我们将第二个量子位操作的变化反转到了全局相位的变化上。
ex2)
假设有一个单量子比特的初始态
∣
ψ
⟩
=
∣
0
⟩
|\psi\rangle = |0\rangle
∣ψ⟩=∣0⟩,经过以下操作后进行测量得到结果
∣
1
⟩
|1\rangle
∣1⟩:
将
∣
ψ
⟩
|\psi\rangle
∣ψ⟩ 应用一个 Hadamard 门:
H
∣
ψ
⟩
=
1
2
(
∣
0
⟩
+
∣
1
⟩
)
H|\psi\rangle = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)
H∣ψ⟩=21(∣0⟩+∣1⟩)。
将
∣
ψ
⟩
|\psi\rangle
∣ψ⟩ 作为控制比特,将一个目标比特
∣
−
⟩
=
1
2
(
∣
0
⟩
−
∣
1
⟩
)
|-\rangle = \frac{1}{\sqrt{2}}(|0\rangle - |1\rangle)
∣−⟩=21(∣0⟩−∣1⟩) 作为目标比特,进行 CNOT 操作:
C
N
O
T
∣
ψ
⟩
,
∣
−
⟩
1
2
(
∣
0
⟩
∣
−
⟩
+
∣
1
⟩
∣
+
⟩
)
CNOT_{|\psi\rangle,|-\rangle} \frac{1}{\sqrt{2}}(|0\rangle|-\rangle + |1\rangle|+\rangle)
CNOT∣ψ⟩,∣−⟩21(∣0⟩∣−⟩+∣1⟩∣+⟩)。
测量第一个量子比特。如果测量结果为
∣
0
⟩
|0\rangle
∣0⟩,则目标比特测量结果为
∣
−
⟩
|-\rangle
∣−⟩;如果测量结果为
∣
1
⟩
|1\rangle
∣1⟩,则目标比特测量结果为
∣
+
⟩
|+\rangle
∣+⟩。
C
N
O
T
∣
ψ
⟩
,
∣
−
⟩
1
2
(
∣
0
⟩
∣
−
⟩
+
∣
1
⟩
∣
+
⟩
)
=
1
2
(
∣
0
⟩
∣
−
⟩
−
∣
1
⟩
∣
+
⟩
)
CNOT_{|\psi\rangle,|-\rangle}\frac{1}{\sqrt{2}}(|0\rangle|-\rangle + |1\rangle|+\rangle)=\frac{1}{\sqrt{2}}(|0\rangle|-\rangle - |1\rangle|+\rangle)
CNOT∣ψ⟩,∣−⟩21(∣0⟩∣−⟩+∣1⟩∣+⟩)=21(∣0⟩∣−⟩−∣1⟩∣+⟩)
在这个例子中,相位反转发生在第 2 步,当控制比特 ∣ ψ ⟩ |\psi\rangle ∣ψ⟩ 的状态为 ∣ 1 ⟩ |1\rangle ∣1⟩ 时,目标比特的相位将反转。
ex3):一个复杂的例子
考虑一个双量子比特系统,其中第一个量子比特是控制量子比特,第二个量子比特是目标量子比特。假设目标量子比特处于状态
∣
u
⟩
|u\rangle
∣u⟩,而控制量子比特处于状态
(
∣
0
⟩
+
∣
1
⟩
)
/
2
(|0\rangle + |1\rangle) / \sqrt{2}
(∣0⟩+∣1⟩)/2,即:
∣
ψ
⟩
=
1
2
(
∣
0
⟩
+
∣
1
⟩
)
∣
u
⟩
|\psi\rangle = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)|u\rangle
∣ψ⟩=21(∣0⟩+∣1⟩)∣u⟩
我们希望将目标量子比特的相位信息传递到控制量子比特上。为了实现这一目的,我们需要执行下面的操作:
- 用目标量子比特和一个第三个量子比特构成一个受控门。第三个量子比特的状态为 ∣ − ⟩ |-\rangle ∣−⟩,即 H ∣ − ⟩ = ∣ 1 ⟩ H|-\rangle = |1\rangle H∣−⟩=∣1⟩, X ∣ − ⟩ = − ∣ − ⟩ = ∣ − ⟩ X|-\rangle = -|-\rangle=|-\rangle X∣−⟩=−∣−⟩=∣−⟩。
- 将控制量子比特与第三个量子比特进行 CNOT 门操作。
- 将第三个量子比特和目标量子比特进行 CNOT 门操作(复原)。
- 再次将控制量子比特和第三个量子比特进行 CNOT 门操作(复原)。
下面是具体到公式的演示方法:
-
将目标量子比特 ∣ u ⟩ |u\rangle ∣u⟩ 与第三个量子比特 ∣ − ⟩ |-\rangle ∣−⟩ 进行 CNOT 门操作,得到如下状态:
∣ + ⟩ ∣ u ⟩ ∣ − ⟩ → CNOT-2,3 1 2 ∣ + ⟩ ( ∣ u ⟩ − ∣ u ⟩ ) |+\rangle|u\rangle|-\rangle \xrightarrow{\text{CNOT-2,3}} \frac{1}{\sqrt{2}}|+\rangle(|u\rangle-|u\rangle) ∣+⟩∣u⟩∣−⟩CNOT-2,321∣+⟩(∣u⟩−∣u⟩) -
将控制量子比特 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) / 2 (|0\rangle + |1\rangle) / \sqrt{2} (∣0⟩+∣1⟩)/2 与第三个量子比特 ∣ − ⟩ |-\rangle ∣−⟩ 进行 CNOT 门操作,得到如下状态:
1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) ( ∣ u ⟩ − ∣ u ⟩ ) − 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) ( ∣ u ⟩ + ∣ u ⟩ ) ∣ − ⟩ \frac{1}{2}(|0\rangle+|1\rangle)(|u\rangle-|u\rangle) - \frac{1}{2}(|0\rangle-|1\rangle)(|u\rangle+|u\rangle)|-\rangle 21(∣0⟩+∣1⟩)(∣u⟩−∣u⟩)−21(∣0⟩−∣1⟩)(∣u⟩+∣u⟩)∣−⟩ -
将第三个量子比特 ∣ − ⟩ |-\rangle ∣−⟩ 与目标量子比特 ∣ u ⟩ |u\rangle ∣u⟩ 进行 CNOT 门操作,得到如下状态:
1 2 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) ( ∣ u ⟩ − ∣ u ⟩ ) − 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) ( ∣ u ⟩ − ∣ u ⟩ ) ∣ − ⟩ \frac{1}{2}(|0\rangle+|1\rangle)(|u\rangle-|u\rangle) - \frac{1}{2}(|0\rangle-|1\rangle)(|u\rangle-|u\rangle)|-\rangle 21(∣0⟩+∣1⟩)(∣u⟩−∣u⟩)−21(∣0⟩−∣1⟩)(∣u⟩−∣u⟩)∣−⟩ -
注意到此时,第二个量子比特 ∣ u ⟩ |u\rangle ∣u⟩ 的相位信息已经传递到第三个量子比特 ∣ − ⟩ |-\rangle ∣−⟩ 上了。最后,将控制量子比特 ( ∣ 0 ⟩ + ∣ 1 ⟩ ) / 2 (|0\rangle + |1\rangle) / \sqrt{2} (∣0⟩+∣1⟩)/2 与第三个量子比特 ∣ − ⟩ |-\rangle ∣−⟩ 再进行一次 CNOT 门操作,得到如下状态:
1 2 ( ∣ 0 ⟩ ∣ − ⟩ − ∣ 1 ⟩ ∣ − ⟩ ) ( ∣ u ⟩ − ∣ u ⟩ ) − 1 2 ( ∣ 0 ⟩ ∣ − ⟩ + ∣ 1 ⟩ ∣ − ⟩ ) ( ∣ u ⟩ − ∣ u ⟩ ) \frac{1}{2}(|0\rangle|-\rangle-|1\rangle|-\rangle)(|u\rangle-|u\rangle) - \frac{1}{2}(|0\rangle|-\rangle+|1\rangle|-\rangle)(|u\rangle-|u\rangle) 21(∣0⟩∣−⟩−∣1⟩∣−⟩)(∣u⟩−∣u⟩)−21(∣0⟩∣−⟩+∣1⟩∣−⟩)(∣u⟩−∣u⟩)
化简后可得:
1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) ∣ u ⟩ \frac{1}{\sqrt{2}}(|0\rangle - |1\rangle)|u\rangle 21(∣0⟩−∣1⟩)∣u⟩
可以看到,控制量子比特的相位信息已经被传递到了目标量子比特上,并且多了一个负号。这就是相位反转的效果。
其中 Q 1 Q_1 Q1 表示控制量子比特, Q 2 Q_2 Q2 表示目标量子比特, Q 3 Q_3 Q3 表示第三个量子比特。
在该电路中,我们首先对
Q
2
Q_2
Q2 和
Q
3
Q_3
Q3 进行受控门操作,使得
Q
3
Q_3
Q3 的相位信息被传递到了
Q
2
Q_2
Q2 上。然后,我们将
Q
1
Q_1
Q1 和
Q
3
Q_3
Q3 进行 CNOT 门操作,这相当于在
Q
3
Q_3
Q3 的状态为
∣
1
⟩
|1\rangle
∣1⟩ 的时候对
Q
1
Q_1
Q1 进行了
X
X
X 门操作。接着,我们将
Q
2
Q_2
Q2 和
Q
3
Q_3
Q3 进行 CNOT 门操作,这将使得
Q
1
Q_1
Q1 的相位信息被传递到了
Q
3
Q_3
Q3 上。最后,我们再次将
Q
1
Q_1
Q1 和
Q
3
Q_3
Q3 进行 CNOT 门操作,相当于在
Q
3
Q_3
Q3 的状态为
∣
1
⟩
|1\rangle
∣1⟩ 的时候对
Q
1
Q_1
Q1 进行了
X
X
X 门操作。这一系列操作的结果是,
Q
1
Q_1
Q1 的相位信息被传递到了
Q
1
Q_1
Q1 本身上,也就是实现了相位反冲的效果。
这个过程中实现相位反冲的关键在于第二步和第四步的 CNOT 门操作。具体来说,第二步的 CNOT 门操作实现了对于
Q
3
Q_3
Q3 在
∣
1
⟩
|1\rangle
∣1⟩ 状态时,对
Q
1
Q_1
Q1 的
X
X
X 门操作,而第四步的 CNOT 门操作实现了对于
Q
3
Q_3
Q3 在
∣
1
⟩
|1\rangle
∣1⟩ 状态时,再次对
Q
1
Q_1
Q1 的
X
X
X 门操作。
当
Q
2
Q_2
Q2 和
Q
3
Q_3
Q3 进行受控门操作时,由于
Q
3
Q_3
Q3 的初始状态为
∣
−
⟩
|-\rangle
∣−⟩,所以相当于对
Q
2
Q_2
Q2 应用了一个相位门操作
S
S
S。因此,我们实际上实现的是对
Q
1
Q_1
Q1 应用了
S
S
S 门操作,将
Q
2
Q_2
Q2 的相位信息反冲到了
Q
1
Q_1
Q1 上。
然后在第二步和第四步的 CNOT 门操作中,当
Q
3
Q_3
Q3 处于
∣
1
⟩
|1\rangle
∣1⟩ 状态时,它会对
Q
1
Q_1
Q1 施加一个
X
X
X 门操作,而当
Q
3
Q_3
Q3 处于
∣
0
⟩
|0\rangle
∣0⟩ 状态时,则不会对
Q
1
Q_1
Q1 进行操作。因此,通过这两个 CNOT 门操作,我们可以将
Q
2
Q_2
Q2 的相位信息反冲到
Q
1
Q_1
Q1 上,实现了相位反冲的效果。
最终,我们得到的状态为
1
2
(
∣
0
⟩
+
e
i
ϕ
∣
1
⟩
)
∣
u
⟩
\frac{1}{\sqrt{2}}(|0\rangle + e^{i\phi}|1\rangle)|u\rangle
21(∣0⟩+eiϕ∣1⟩)∣u⟩,其中
ϕ
\phi
ϕ 是
Q
2
Q_2
Q2 的相位信息,已经被传递到了
Q
1
Q_1
Q1 上。
为了更好地理解,我们将带入纯数式,用纯数学的方式来计算。
假设量子态 u u u 是一个单比特量子态,它的数学表达式可以表示为:
u = α ∣ 0 ⟩ + β ∣ 1 ⟩ u = \alpha |0\rangle + \beta |1\rangle u=α∣0⟩+β∣1⟩
其中, α \alpha α和 β \beta β是复数, ∣ 0 ⟩ |0\rangle ∣0⟩和 ∣ 1 ⟩ |1\rangle ∣1⟩分别是基态。
另外,叠加态 ∣ + ⟩ |+\rangle ∣+⟩也是一个单比特量子态,它的数学表达式可以表示为:
∣ + ⟩ = ∣ 0 ⟩ + ∣ 1 ⟩ 2 |+\rangle = \frac{|0\rangle + |1\rangle}{\sqrt{2}} ∣+⟩=2∣0⟩+∣1⟩
当叠加态 ∣ + ⟩ |+\rangle ∣+⟩ 作为控制比特,量子态 ∣ 0 ⟩ |0\rangle ∣0⟩ 作为目标比特,应用CNOT门,可以得到:
CNOT ( ∣ + ⟩ ∣ 0 ⟩ ) = CNOT ( ∣ 0 ⟩ + ∣ 1 ⟩ 2 ⊗ ∣ 0 ⟩ ) = ∣ 00 ⟩ + ∣ 11 ⟩ 2 \text{CNOT}(|+\rangle |0\rangle) = \text{CNOT}\left(\frac{|0\rangle + |1\rangle}{\sqrt{2}} \otimes |0\rangle\right) = \frac{|00\rangle + |11\rangle}{\sqrt{2}} CNOT(∣+⟩∣0⟩)=CNOT(2∣0⟩+∣1⟩⊗∣0⟩)=2∣00⟩+∣11⟩
因此,线路第二阶段与第四阶段输出的量子态可以表示为:
2
阶段:
∣
α
000
⟩
−
∣
α
001
⟩
+
∣
α
101
⟩
−
∣
α
100
⟩
+
∣
β
011
⟩
−
∣
β
010
⟩
−
∣
β
111
⟩
+
∣
β
110
⟩
2
=
(
∣
0
⟩
∣
u
⟩
−
∣
1
⟩
∣
−
u
⟩
)
∣
−
⟩
2阶段:\frac{|α000\rangle -|α001\rangle +|α101\rangle -|α100\rangle + |β011\rangle- |β010\rangle- |β111\rangle+ |β110\rangle}{2} =(|0\rangle|u\rangle-|1\rangle|-u\rangle)|-\rangle
2阶段:2∣α000⟩−∣α001⟩+∣α101⟩−∣α100⟩+∣β011⟩−∣β010⟩−∣β111⟩+∣β110⟩=(∣0⟩∣u⟩−∣1⟩∣−u⟩)∣−⟩
4
阶段:
∣
α
000
⟩
−
∣
α
001
⟩
+
∣
α
100
⟩
−
∣
α
101
⟩
−
∣
β
011
⟩
+
∣
β
010
⟩
+
∣
β
110
⟩
−
∣
β
111
⟩
2
=
(
∣
0
⟩
∣
u
⟩
+
∣
1
⟩
∣
u
⟩
)
∣
−
⟩
4阶段:\frac{|α000\rangle -|α001\rangle +|α100\rangle -|α101\rangle - |β011\rangle+ |β010\rangle+ |β110\rangle- |β111\rangle}{2} =(|0\rangle|u\rangle+|1\rangle|u\rangle)|-\rangle
4阶段:2∣α000⟩−∣α001⟩+∣α100⟩−∣α101⟩−∣β011⟩+∣β010⟩+∣β110⟩−∣β111⟩=(∣0⟩∣u⟩+∣1⟩∣u⟩)∣−⟩
2阶段公式化简可得:
( ∣ 0 ⟩ ∣ u ⟩ − ∣ 1 ⟩ ∣ − u ⟩ ) ∣ − ⟩ = 1 2 ∣ 0 ⟩ ( α ∣ 0 ⟩ + β ∣ 1 ⟩ ) ⊗ ∣ − ⟩ − 1 2 ∣ 1 ⟩ ( α ∣ 0 ⟩ − β ∣ 1 ⟩ ) ⊗ ∣ − ⟩ = 1 2 ( ∣ 0 ⟩ ( α ∣ 0 ⟩ + β ∣ 1 ⟩ ) − ∣ 1 ⟩ ( α ∣ 0 ⟩ − β ∣ 1 ⟩ ) ) ⊗ ∣ − ⟩ (|0\rangle|u\rangle-|1\rangle|-u\rangle)|-\rangle=\frac{1}{\sqrt{2}}|0\rangle(\alpha|0\rangle + \beta|1\rangle) \otimes |-\rangle - \frac{1}{\sqrt{2}}|1\rangle(\alpha|0\rangle - \beta|1\rangle) \otimes |-\rangle=\frac{1}{\sqrt{2}}(|0\rangle(\alpha|0\rangle + \beta|1\rangle)-|1\rangle(\alpha|0\rangle - \beta|1\rangle))\otimes |-\rangle (∣0⟩∣u⟩−∣1⟩∣−u⟩)∣−⟩=21∣0⟩(α∣0⟩+β∣1⟩)⊗∣−⟩−21∣1⟩(α∣0⟩−β∣1⟩)⊗∣−⟩=21(∣0⟩(α∣0⟩+β∣1⟩)−∣1⟩(α∣0⟩−β∣1⟩))⊗∣−⟩
而同理4阶段公式化简可得:
1
2
(
∣
0
⟩
(
α
∣
0
⟩
+
β
∣
1
⟩
)
+
∣
1
⟩
(
α
∣
0
⟩
+
β
∣
1
⟩
)
)
⊗
∣
−
⟩
\frac{1}{\sqrt{2}}(|0\rangle(\alpha|0\rangle + \beta|1\rangle)+|1\rangle(\alpha|0\rangle + \beta|1\rangle))\otimes |-\rangle
21(∣0⟩(α∣0⟩+β∣1⟩)+∣1⟩(α∣0⟩+β∣1⟩))⊗∣−⟩
所以我们可以清楚的看到,量子反冲之前,当第一个量子位被测量后,我们无法得知第二个量子位的信息,它仍然是随机的。但是量子反冲之后,当第一个量子位被测量时,我们可以得知第二个量子位的相位信息。当第一个量子位确定时,第二个量子位也被确定了。
ex4)
假设三个量子比特分别为
q
1
q_1
q1,
q
2
q_2
q2 和
q
3
q_3
q3,并且目标量子比特
q
3
q_3
q3 初始处于状态
∣
u
⟩
|u\rangle
∣u⟩,而控制量子比特
q
1
q_1
q1 初始处于状态
(
∣
0
⟩
+
∣
1
⟩
)
/
2
(|0\rangle + |1\rangle) / \sqrt{2}
(∣0⟩+∣1⟩)/2,其余量子比特初始处于状态
∣
0
⟩
|0\rangle
∣0⟩。则该过程可以表达为以下一系列的门操作:
将第三个量子比特 q 3 q_3 q3 应用一个 R z R_z Rz 旋转门,将其相位翻转 18 0 ∘ 180^{\circ} 180∘,即 R z ( π ) ∣ u ⟩ = − ∣ u ⟩ R_z(\pi)|u\rangle = -|u\rangle Rz(π)∣u⟩=−∣u⟩。
将 q 1 q_1 q1 和一个辅助量子比特 q 2 q_2 q2 进行 CNOT 门操作,得到状态: 1 2 ( ∣ 0 ⟩ ∣ 0 ⟩ + ∣ 1 ⟩ ∣ 1 ⟩ ) ∣ u ⟩ \frac{1}{\sqrt{2}}(|0\rangle|0\rangle + |1\rangle|1\rangle)|u\rangle 21(∣0⟩∣0⟩+∣1⟩∣1⟩)∣u⟩
将 q 2 q_2 q2 应用一个 H H H 门,得到状态: 1 2 ( ∣ 0 ⟩ ∣ 0 ⟩ + ∣ 1 ⟩ ∣ 1 ⟩ ) 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) ∣ u ⟩ \frac{1}{\sqrt{2}}(|0\rangle|0\rangle + |1\rangle|1\rangle)\frac{1}{\sqrt{2}}(|0\rangle - |1\rangle)|u\rangle 21(∣0⟩∣0⟩+∣1⟩∣1⟩)21(∣0⟩−∣1⟩)∣u⟩
将 q 2 q_2 q2 和 q 3 q_3 q3 进行 CNOT 门操作,得到状态: 1 2 ( ∣ 0 ⟩ ∣ 0 ⟩ + ∣ 1 ⟩ ∣ 1 ⟩ ) 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) ( ∣ u ⟩ − ∣ u ′ ⟩ ) \frac{1}{\sqrt{2}}(|0\rangle|0\rangle + |1\rangle|1\rangle)\frac{1}{\sqrt{2}}(|0\rangle - |1\rangle)(|u\rangle - |u'\rangle) 21(∣0⟩∣0⟩+∣1⟩∣1⟩)21(∣0⟩−∣1⟩)(∣u⟩−∣u′⟩) 其中, ∣ u ′ ⟩ |u'\rangle ∣u′⟩ 表示经过 R z R_z Rz 门操作后的目标量子比特状态。
将 q 1 q_1 q1 和 q 2 q_2 q2 再次进行 CNOT 门操作,得到状态: 1 2 ( ∣ 0 ⟩ ∣ u ⟩ − ∣ 1 ⟩ ∣ u ′ ⟩ ) 1 2 ( ∣ 0 ⟩ − ∣ 1 ⟩ ) \frac{1}{\sqrt{2}}(|0\rangle|u\rangle - |1\rangle|u'\rangle) \frac{1}{\sqrt{2}}(|0\rangle - |1\rangle) 21(∣0⟩∣u⟩−∣1⟩∣u′⟩)21(∣0⟩−∣1⟩)
将 q 2 q_2 q2 再次应用一个 H H H 门,得到状态: 1 2 [ ( ∣ 0 ⟩ − ∣ 1 ⟩ ) ( ∣ u ⟩ − ∣ u ′ ⟩ ) ] \frac{1}{2}[(|0\rangle - |1\rangle)(|u\rangle - |u'\rangle)] 21[(∣0⟩−∣1⟩)(∣u⟩−∣u′⟩)]
最后,将 q 1 q_1 q1 和 q 2 q_2 q2 进行一次 CNOT 门操作,得到状态: 1 2 [ ( ∣ 0 ⟩ − ∣ 1 ⟩ ) ( ∣ u ⟩ − ∣ u ′ ⟩ ) ] ∣ 0 ⟩ + 1 2 [ ( ∣ 0 ⟩ + ∣ 1 ⟩ ) ( ∣ u ⟩ + ∣ u ′ ⟩ ) ] ∣ 1 ⟩ \frac{1}{2}[(|0\rangle - |1\rangle)(|u\rangle - |u'\rangle)]|0\rangle + \frac{1}{2}[(|0\rangle + |1\rangle)(|u\rangle + |u'\rangle)]|1\rangle 21[(∣0⟩−∣1⟩)(∣u⟩−∣u′⟩)]∣0⟩+21[(∣0⟩+∣1⟩)(∣u⟩+∣u′⟩)]∣1⟩
我们可以看到,最终的状态中,第一个量子比特 q 1 q_1 q1 上的相位信息反转了,并且通过观察第二个量子比特 q 2 q_2 q2 的状态可以验证这一点。
相位反转与量子振幅放大算法
相位反转和相位反冲是两个不同的概念。相位反转通常是指改变一个量子态中某个比特的相位,即在Bloch球的经典视角下绕Z轴旋转一个角度,或者在复数表示下将相位取负。相位反转是一种常见的量子门操作,可以用于量子计算中的一些算法,如量子振幅放大算法。相位反冲是指一个比特的相位被反转后,与之相邻的另一个比特的相位也随之发生反转。在量子计算中,相位反冲可以用于制备纠缠态和量子错误校正等。
用目标量子比特和一个第三个量子比特构成一个受控门。第三个量子比特的状态为 ∣ − ⟩ |-\rangle ∣−⟩,即 H ∣ − ⟩ = ∣ 1 ⟩ H|-\rangle = |1\rangle H∣−⟩=∣1⟩, X ∣ − ⟩ = ∣ − ⟩ X|-\rangle = |-\rangle X∣−⟩=∣−⟩。
将控制量子比特与第三个量子比特进行 CNOT 门操作。
将第三个量子比特和目标量子比特进行 CNOT 门操作。
再次将控制量子比特和第三个量子比特进行 CNOT 门操作。
α ∣ 0 ⟩ c o n t r o l ∣ u ⟩ t a r g e t + β ∣ 1 ⟩ c o n t r o l ∣ u ⟩ t a r g e t → α ∣ 0 ⟩ c o n t r o l ∣ u ⟩ t a r g e t + β ∣ 1 ⟩ c o n t r o l ( − 1 ) u ∣ u ⟩ t a r g e t α|0\rangle_{control}|u\rangle_{target}+β|1\rangle_{control}|u\rangle_{target} \rightarrow α|0\rangle_{control}|u\rangle_{target}+β|1\rangle_{control}(-1)^u|u\rangle_{target} α∣0⟩control∣u⟩target+β∣1⟩control∣u⟩target→α∣0⟩control∣u⟩target+β∣1⟩control(−1)u∣u⟩target
其中, α \alpha α 和 β \beta β 是控制量子比特的两个状态。在这个过程中,第三个量子比特的相位翻转被“反弹”回控制量子比特,从而将目标量子比特的相位信息传递给控制量子比特。
相位反转(phase flip)和概率有一定的关系,因为在进行相位反转操作时,会导致量子态的相位发生改变,从而影响到测量时的概率分布。
∣
0
⟩
c
o
n
t
r
o
l
∣
u
⟩
t
a
r
g
e
t
→
∣
0
⟩
c
o
n
t
r
o
l
(
−
1
)
u
∣
u
⟩
t
a
r
g
e
t
|0\rangle_{control}|u\rangle_{target} \rightarrow |0\rangle_{control}(-1)^u|u\rangle_{target}
∣0⟩control∣u⟩target→∣0⟩control(−1)u∣u⟩target
具体来说,在量子力学中,一个量子态可以表示为幅度和相位的叠加。在测量量子态时,它会坍缩为一个确定的状态,且不同状态的概率分布由幅度的模长的平方给出。相位反转操作本身不会增加概率,因为量子态的模长平方代表的概率在相位反转后不会改变。但是在某些情况下,相位反转操作可以通过干涉的方式增加某些测量结果的概率。
量子振幅放大算法
假设有一个黑盒子程序 U U U,它能将输入 x x x 映射到输出 f ( x ) f(x) f(x),其中 f f f 是 n n n 比特的布尔函数,且保证只有一个 x x x 使得 f ( x ) = 1 f(x) = 1 f(x)=1。我们的目标是找到这个满足 f ( x ) = 1 f(x) = 1 f(x)=1 的 x x x。对于经典计算机而言,需要进行 2 n 2^n 2n 次计算才能找到这个解,但对于量子计算机,量子振幅放大算法可以实现在 O ( N ) O(\sqrt{N}) O(N) 次计算内找到这个解,其中 N = 2 n N = 2^n N=2n。
算法的流程如下:
初始化:对于一个函数
f
(
x
)
f(x)
f(x),我们选择一个初始状态
∣
s
⟩
\vert s \rangle
∣s⟩和一个目标状态
∣
t
⟩
\vert t \rangle
∣t⟩,并构造一个等概率的叠加态
∣
ψ
⟩
=
1
N
∑
x
=
0
N
−
1
∣
x
⟩
\vert \psi \rangle = \frac{1}{\sqrt{N}}\sum_{x=0}^{N-1}\vert x \rangle
∣ψ⟩=N1∑x=0N−1∣x⟩,其中
N
N
N是状态的总数。这里我们假设
N
N
N是
2
n
2^n
2n,其中
n
n
n是量子比特数。
反演操作:我们定义一个标记算符 U t U_t Ut,使得对于所有的 x x x, U t ∣ x ⟩ = ( − 1 ) f ( x ) ∣ x ⟩ U_t\vert x \rangle = (-1)^{f(x)}\vert x \rangle Ut∣x⟩=(−1)f(x)∣x⟩,其中 f ( x ) = 1 f(x) = 1 f(x)=1当且仅当 x = t x=t x=t,否则 f ( x ) = 0 f(x)=0 f(x)=0。我们将标记算符 U t U_t Ut分解成两个操作:首先对于所有的 x x x,将 ∣ x ⟩ \vert x \rangle ∣x⟩映射到 ∣ x ⟩ \vert x \rangle ∣x⟩或 − ∣ x ⟩ -\vert x \rangle −∣x⟩上,然后将 − ∣ t ⟩ -\vert t \rangle −∣t⟩映射到 ∣ t ⟩ \vert t \rangle ∣t⟩上。这样,我们就得到了一个反演算符 U s U_s Us,使得 U s ∣ ψ ⟩ = 1 N ∑ x = 0 N − 1 ( − 1 ) s ( x ) ∣ x ⟩ U_s \vert \psi \rangle = \frac{1}{\sqrt{N}}\sum_{x=0}^{N-1}(-1)^{s(x)}\vert x \rangle Us∣ψ⟩=N1∑x=0N−1(−1)s(x)∣x⟩,其中 s ( x ) = 1 s(x) = 1 s(x)=1当且仅当 x ≠ t x \neq t x=t,否则 s ( x ) = − 1 s(x) = -1 s(x)=−1。
重复操作:我们将反演算符 U s U_s Us应用 k k k次,得到 ∣ ψ ′ ⟩ = U s k ∣ ψ ⟩ \vert \psi' \rangle = U_s^k \vert \psi \rangle ∣ψ′⟩=Usk∣ψ⟩。这里 k k k的取值应该足够大,满足 4 k arcsin 1 N ≈ π 2 4k \arcsin \frac{1}{\sqrt{N}} \approx \frac{\pi}{2} 4karcsinN1≈2π,其中 arcsin \arcsin arcsin是反正弦函数。这样可以使得 ∣ ψ ′ ⟩ \vert \psi' \rangle ∣ψ′⟩更加靠近目标状态 ∣ t ⟩ \vert t \rangle ∣t⟩。
测量操作:最后我们进行一次测量操作,将 ∣ ψ ′ ⟩ \vert \psi' \rangle ∣ψ′⟩映射到某个状态上。由于 ∣ ψ ′ ⟩ \vert \psi' \rangle ∣ψ′⟩更加靠近目标状态 ∣ t ⟩ \vert t \rangle ∣t⟩,所以测量结果为 ∣ t ⟩ \vert t \rangle ∣t⟩的概率更大。