量子比特

Bloch球的表示

我们知道量子比特可用 Bloch 球表示,任意量子比特态都可以写成

ψ=cos(θ2)0+eiϕsin(θ2)1\ket{\psi} = \cos\left(\frac{\theta}{2}\right) \ket{0} + e^{i\phi} \sin\left(\frac{\theta}{2}\right) \ket{1}

Bloch球

而球面上的点是无数的,那么一个量子比特是否能存储无限的信息呢?不行,因为量子态是不可克隆的,而读取会引起坍缩,无法通过无限次测量来精确读取量子态的信息。实际中,可用于量子计算的二能级系统也是十分少的。

测定三个泡利算符的平均值

x=ψσxψ=sinθcosϕy=ψσyψ=sinθsinϕz=ψσzψ=cosθ \begin{aligned} \langle \overline{x} \rangle &= \bra{\psi} \sigma_x \ket{\psi}= \sin\theta \cos\phi \\[5pt] \langle \overline{y} \rangle &= \bra{\psi} \sigma_y \ket{\psi}= \sin\theta \sin\phi \\[5pt] \langle \overline{z} \rangle &= \bra{\psi} \sigma_z \ket{\psi}= \cos\theta \end{aligned}

即可确定量子态的位置

ψ=1+z20+x+iy2(1+z)1\ket{\psi} = \sqrt{\frac{1+\overline{z}}{2}} \ket{0} + \frac{\overline{x} + i \overline{y}}{\sqrt{2(1+\overline{z})}} \ket{1}

自旋的旋转

下面给出一个单比特幺正算符的简易计算公式

eiσnϕ=cosϕi(σn)sinϕe^{-i \sigma \cdot \vec{n} \phi} = \cos \phi - i (\sigma \cdot \vec{n}) \sin \phi

实际上,当 ϕ\phi 很小时,eiσnϕe^{-i \sigma \cdot \vec{n} \phi} 可展开为 1i2ϕ(σn/2)1 -i2\phi (\sigma \cdot \vec{n}/2),这对应 Bloch 球上绕 n\vec{n} 轴转动了 2ϕ2\phi 的角度;当 ϕ\phi 为任意角时,eiσnϕe^{-i \sigma \cdot \vec{n} \phi} 相当于进行了一个转动操作 Rn(2ϕ)R_{\vec{n}}(2\phi)。对任意角动量 J\vec{J}n\vec{n} 轴旋转 θ\theta 度可表示为

Rn(θ)=eiθJnR_{\vec{n}}(\theta) = e^{-i \theta \vec{J} \cdot \vec{n}}

对自旋角动量 S=12σ\vec{S}=\frac{1}{2} \vec{\sigma},有

Rx(θ)=eiθSx=eiθ2σx=cosθ2Iisinθ2σx=(cosθ2isinθ2isinθ2cosθ2)Ry(θ)=eiθSy=eiθ2σy=cosθ2Iisinθ2σy=(cosθ2sinθ2sinθ2cosθ2)Rz(θ)=eiθSz=eiθ2σz=cosθ2Iisinθ2σz=(eiθ200eiθ2)\begin{align*} R_x\left(\theta\right) &= e^{-i \theta S_x} = e^{-i \frac{\theta}{2} \sigma_x} = \cos\frac{\theta}{2} I - i \sin\frac{\theta}{2} \sigma_x = \begin{pmatrix} \cos\frac{\theta}{2} & -i \sin\frac{\theta}{2} \\ -i \sin\frac{\theta}{2} & \cos\frac{\theta}{2} \end{pmatrix} \\[6pt] R_y\left(\theta\right) &= e^{-i \theta S_y} = e^{-i \frac{\theta}{2} \sigma_y} = \cos\frac{\theta}{2} I - i \sin\frac{\theta}{2} \sigma_y = \begin{pmatrix} \cos\frac{\theta}{2} & -\sin\frac{\theta}{2} \\ \sin\frac{\theta}{2} & \cos\frac{\theta}{2} \end{pmatrix} \\[6pt] R_z\left(\theta\right) &= e^{-i \theta S_z} = e^{-i \frac{\theta}{2} \sigma_z} = \cos\frac{\theta}{2} I - i \sin\frac{\theta}{2} \sigma_z = \begin{pmatrix} e^{-i \frac \theta 2} & 0 \\ 0 & e^{i \frac \theta 2} \end{pmatrix} \end{align*}

通过上述操作,我们可以旋转 Bloch 球上的任意矢量 (θ1,ϕ1)\left(\theta_1, \phi_1\right)(θ2,ϕ2)\left(\theta_2, \phi_2\right)

Rψ(θ1,ϕ1)=ψ(θ2,ϕ2)R\ket{\psi\left(\theta_1, \phi_1\right)} = \ket{\psi\left(\theta_2, \phi_2\right)}

R=Rz(π2+ϕ2)Rx(θ2θ1)Rz(π2ϕ1) R=R_z\left(\frac{\pi}{2}+\phi_2\right) R_x\left(\theta_2-\theta_1\right) R_z\left(-\frac{\pi}{2}-\phi_1\right)

Baker-Hausdorff 公式

例:在相互作用表象下,哈密顿量可写为

H=H0+VH = H_0 + V

其中 H0H_0 是系统的自由哈密顿量,VV 是相互作用项。一个态由薛定谔绘景变为相互作用绘景可以写为

ψ(t)I=eiH^0tψ(t)S\ket{\psi\left(t\right)}_I =e^{-i \hat{H}_0 t} \ket{\psi\left(t\right)}_S

而一个算符由薛定谔绘景变为相互作用绘景可以写为

A^I=eiH^0tA^SeiH^0t\hat{A}_I= e^{i \hat{H}_0 t} \hat{A}_S e^{-i \hat{H}_0 t}

形如上式的计算我们可以使用 Baker-Hausdorff 公式进行计算

eABeA=B+[A,B]+12![A,[A,B]]+13![A,[A,[A,B]]]+e^{A} B e^{-A} = B + [A, B] + \frac{1}{2!} [A, [A, B]] + \frac{1}{3!} [A, [A, [A, B]]] + \cdots

实际上,由于算符与数的对易性,上式一般只有前两项不为零

利用上式,我们可以计算出 σ\sigma 在空间中旋转的幺正变换

eiϕσz/2σxeiϕσz/2=cosϕσxsinϕσyeiϕσz/2σyeiϕσz/2=sinϕσx+cosϕσyeiϕσy/2σxeiϕσy/2=cosϕσx+sinϕσzeiϕσy/2σzeiϕσy/2=sinϕσx+cosϕσz\begin{align*} e^{i \phi \sigma_z/2} \sigma_x e^{-i \phi \sigma_z/2} &= \cos \phi \sigma_x - \sin \phi \sigma_y \\[5pt] e^{i \phi \sigma_z/2} \sigma_y e^{-i \phi \sigma_z/2} &= \sin \phi \sigma_x + \cos \phi \sigma_y \\[5pt] e^{i \phi \sigma_y/2} \sigma_x e^{-i \phi \sigma_y/2} &= \cos \phi \sigma_x + \sin \phi \sigma_z \\[5pt] e^{i \phi \sigma_y/2} \sigma_z e^{-i \phi \sigma_y/2} &= -\sin \phi \sigma_x + \cos \phi \sigma_z \\[5pt] \end{align*}

n量子比特系统

一个由 nn 个量子比特组成的系统称为大小为 nn 的量子寄存器。

一组基 i:=in1i1i0\ket{i} := \ket{i_{n-1}} \otimes \cdots \otimes \ket{i_1} \otimes \ket{i_0},其中 ik{0,1}i_k \in \{0, 1\},构成一组 2n2^n 维希尔伯特空间 H2n\mathcal{H}^{2^n} 内的正交完备基,空间内的任意态可表示为 2n2^n 个基态的叠加

ψ=i=02n1cii=in1=01i1=01i0=01cin1i1i0in1i1i0 \begin{align*} \ket{\psi} &= \sum_{i=0}^{2^n-1} c_i \ket{i} \\[5pt] &= \sum_{i_{n-1}=0}^{1} \cdots \sum_{i_1=0}^{1} \sum_{i_0=0}^{1} c_{i_{n-1} \cdots i_1 i_0} \ket{i_{n-1}} \otimes \cdots \otimes \ket{i_1} \otimes \ket{i_0} \end{align*}

其中 cic_i 满足归一化条件 i=02n1ci2=1\sum_{i=0}^{2^n-1} |c_i|^2 = 1

1.每个态都有 2×2n2\times 2^n 个实数参数,但由于归一化条件和全局相位不可观测,实际自由参数为 2n+122^{n+1}-2 个实数参数。

2.每 nn 个比特的经典系统只能储存 nn 个比特的信息,而量子系统可以储存 2n+122^{n+1}-2 个实数参数的信息,信息量呈指数增长。

3.经典系统中也同样存在叠加,但由于 10241024 个经典比特的叠加态需要 10241024 个模式描述,需要 10241024 个能级的能量,对能量的要求十分高。

4.由于量子叠加,量子计算天然可以进行并行计算。对一个相干叠加态进行一次幺正操作,就相当于对 2n2^n 个基态同时进行了一次幺正操作,实现了并行计算。

Uψ=Ui=02n1cii=i=02n1ciUi U \ket{\psi} = U \sum_{i=0}^{2^n-1} c_i \ket{i} = \sum_{i=0}^{2^n-1} c_i U \ket{i}

5.量子纠缠使得我们能够仅用 nn 个相同的双态系统处理 2n2^n 个不同的态。

量子计算的一般过程:

  1. 初态制备:使量子计算机初始化在态 ψi\ket{\psi_i}上。
  2. 量子控制:使用幺正算符控制初态的演化 ψf=Uψi\ket{\psi_f} = U \ket{\psi_i}
  3. 量子测量:对最终态 ψf\ket{\psi_f} 进行测量,读取结果。

量子逻辑门

定义

逻辑门:逻辑函数的物理实现:{0,1}n{0,1}m\{0,1\}^n \to \{0,1\}^m,其中 nn 是输入比特数,mm 是输出比特数。

量子逻辑门:
线路模型如下图所示,约定左边为输入,右边为输出。

电路模型

其中,UU 是一个幺正算符,实现 ψout=Uψin\ket{\psi_{out}} = U \ket{\psi_{in}}n=ln=l,任意态可由 2n2^n 个基态线性叠加而成

ψ=i=02n1cii=in1=01i1=01i0=01cin1i1i0in1i1i0\ket{\psi} = \sum_{i=0}^{2^n-1} c_i \ket{i} = \sum_{i_{n-1}=0}^{1} \cdots \sum_{i_1=0}^{1} \sum_{i_0=0}^{1} c_{i_{n-1} \cdots i_1 i_0} \ket{i_{n-1}} \otimes \cdots \otimes \ket{i_1} \otimes \ket{i_0}

受控量子门

受控非门

根据输入和输出的量子比特数量,我们可以将量子逻辑门分为单比特门、双比特门和多比特门。常用的单比特门有恒等门 II、非门 XX、相位门 PP、Hadamard 门 HH 等;常用的双比特门有受控非门 CNOTCNOT、交换门 SWAPSWAP、受控相移门 CPCP 等;多比特门有 Toffoli(C2XC^2-X) 门 和 C2UC^2-U 门等。由于受控非门 CNOTCNOT 可产生纠缠态,是量子计算中非常重要的双比特门,下面我们介绍受控非门。

AA 为控制比特,BB 为目标比特,则受控非门 CNOTCNOT 的作用为

CNOTA,B=AABCNOT\ket{A,B}=\ket{A}\ket{A \oplus B}

受控非门

我们可以得到 CNOTCNOT 的矩阵为

CNOT=(1000010000010010)CNOT=\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix}

通用量子逻辑门

任意 nn 比特量子逻辑门都可以分解成单比特门(HH 门、相位门 PP)和受控非门 CNOTCNOT

任意 dd 维幺正算符都可以分解为 k=d(d1)/2k=d(d-1)/2 个只作用于二维子空间内的幺正操作的乘积。

对于一个作用在 nn 个量子比特上的任意幺正算符 UU,其希尔伯特空间的维数是 2n2^n,而在一个二维希尔伯特子空间内的幺正操作,非对角元至多只有四个不为零。例如,作用在 100\ket{100}010\ket{010} 子空间内的幺正操作 UU 可表示为

U=(11u010010u0101001u100010u100100111) U = \begin{pmatrix} 1 & & & & & & & \\ & 1 & & & & & & \\ & & u_{010,010} & & u_{010,100} & & & \\ & & & 1 & & & & \\ & & u_{100,010} & & u_{100,100} & & & \\ & & & & & 1 & & \\ & & & & & & 1 & \\ & & & & & & & 1 \end{pmatrix}

其余维数的对角元均为 11,表示对其他子空间没有作用。若提取上述四个矩阵元

(u010010u010100u100010u100100) \begin{pmatrix} u_{010,010} & u_{010,100} \\ u_{100,010} & u_{100,100} \end{pmatrix}

则该矩阵是一个作用在 010\ket{010}100\ket{100} 子空间内的单比特幺正操作 U2×2U_{2\times 2}

  • U2×2U_{2\times 2} 虽然只作用在二维子空间,但他不是一个单体操作。
  • 100\ket{100}010\ket{010} 虽然是二维子空间的基,但U2×2U_{2\times 2} 仍是一个非局域的操作,因为它作用在两个不同的量子比特上;而 000\ket{000}100\ket{100} 组成的二维子空间内的幺正操作则是一个单体操作,因为它只需作用在一个量子比特上。