1 量子计算原理

经典计算中,最基本的单元是比特,最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。
类似地,处理量子比特的方式就是量子逻辑门,使用量子逻辑门可以有意识地使量子态发生演化,所以量子逻辑门是构成量子算法的基础。

1.1 酉变换

酉变换是一种矩阵,也是一种操作,它作用在量子态上得到的是一个新的量子态。之前博客也提到过:

学习笔记 -《量子计算与编程入门》- 量子程序
U † U^† U 表示 U U U 的转置复共轭矩阵,酉矩阵的转置复共轭矩阵也是一个酉矩阵,酉变换是一种可逆变换。

一般酉变换在量子态上的作用是通过左乘以右矢进行的,例如:
∣ ψ ⟩ = U ∣ φ 0 ⟩ 或 ⟨ ψ ∣ = ⟨ φ 0 ∣ U † |ψ⟩=U|φ_0⟩ 或 ⟨ψ|=⟨φ_0|U^† ψ=Uφ0ψ=φ0U 由此可见,两个矢量的内积经过同一个酉变换之后保持不变:
⟨ φ ∣ ψ ⟩ = ⟨ φ ∣ U † U ∣ ψ ⟩ ⟨φ|ψ⟩=⟨φ|U†U|ψ⟩ φψ=φUUψ 类似地,也可以通过酉变换表示密度矩阵的演化:
ρ = U ρ 0 U † ρ=Uρ_0U^† ρ=Uρ0U这样就连混合态的演化也包含在内了。

1.2 矩阵的指数函数

在矩阵乘法的基础上,我们利用函数的幂级数来定义矩阵的指数函数。我们定义矩阵 A 的指数函数形式为:
e x p ( A ) = I + A + A 2 2 ! + A 3 3 ! + . . . exp(A)=I+A+\frac{A^2}{2\text{!}}+\frac{A^3}{3\text{!}}+... exp(A)=I+A+2A2+3A3+...

如果 A A A 是一个对角矩阵,即 A = d i a g ( A 11 , A 22 , A 33 , … ) A=diag\left( A_{11},A_{22},A_{33},… \right) A=diag(A11,A22,A33,),则有:
A n = d i a g ( A 11 n , A 22 n , A 33 n , … ) A^n=diag\left( A_{11}^{n},A_{22}^{n},A_{33}^{n},… \right) An=diag(A11n,A22n,A33n,) 从而得到:
e x p ( A ) = I + A + A 2 2 ! + A 3 3 ! + . . . = I + d i a g ( A 11 , A 22 , A 33 , … ) + d i a g ( A 11 2 , A 22 2 , A 33 2 , … ) 2 ! + d i a g ( A 11 3 , A 22 3 , A 33 3 , … ) 3 ! + . . . = d i a g ( 1 + A 11 + A 11 2 2 ! + A 11 3 3 ! + … , A 22 + A 22 2 2 ! + A 22 3 3 ! + … , A 33 + A 33 2 2 ! + A 33 3 3 ! + … , … … ) = d i a g ( e A 11 , e A 22 , e A 33 , … ) \begin{aligned} exp(A)&=I+A+\frac{A^2}{2\text{!}}+\frac{A^3}{3\text{!}}+... \\ &=I+diag\left( A_{11}^{},A_{22}^{},A_{33}^{},… \right) +\frac{diag\left( A_{11}^{2},A_{22}^{2},A_{33}^{2},… \right)}{2\text{!}}+\frac{diag\left( A_{11}^{3},A_{22}^{3},A_{33}^{3},… \right)}{3\text{!}}+... \\ &=diag\left( 1+A_{11}^{}+\frac{A_{11}^{2}}{2!}+\frac{A_{11}^{3}}{3!}+…, A_{22}^{}+\frac{A_{22}^{2}}{2!}+\frac{A_{22}^{3}}{3!}+…, A_{33}^{}+\frac{A_{33}^{2}}{2!}+\frac{A_{33}^{3}}{3!}+…, …… \right) \\ &=\mathrm{diag}\left( e^{A_{11}},e^{A_{22}},e^{A_{33}},… \right) \end{aligned} exp(A)=I+A+2A2+3A3+...=I+diag(A11,A22,A33,)+2diag(A112,A222,A332,)+3diag(A113,A223,A333,)+...=diag(1+A11+2!A112+3!A113+,A22+2!A222+3!A223+,A33+2!A332+3!A333+,)=diag(eA11,eA22,eA33,) 如果 A A A 不是一个对角矩阵,则利用酉变换可以将它对角化: D = U A U † D=UAU^† D=UAU,从而有
(注:pdf P45 关于这部分的推导中 A A A D D D 应该是写反了,下面为更正版)
D n = ( U A U † ) n = ( U A U † ) ( U A U † ) ( U A U † ) … … = U A n U † \begin{aligned} D^n&=\left( UAU^{\dagger} \right) ^n \\ &=\left( UAU^{\dagger} \right) \left( UAU^{\dagger} \right) \left( UAU^{\dagger} \right) …… \\ &=UA^nU^{\dagger} \end{aligned} Dn=(UAU)n=(UAU)(UAU)(UAU)=UAnU 那么,类似地
exp ⁡ ( D ) = exp ⁡ ( U A U † ) = U U † + U A U † + U A 2 U † 2 ! + U A 3 U † 3 ! + . . . = U U † + U A U † + U A 2 2 ! U † + U A 3 3 ! U † + … = U ( I + A + A 2 2 ! + A 3 3 ! + … ) U † = U exp ⁡ ( A ) U † = U d i a g ( e A 11 , e A 22 , e A 33 , … ) U † \begin{aligned} \exp \left( D \right)& =\exp \left( UAU^{\dagger} \right) \\ &=UU^{\dagger}+UAU^{\dagger}+\frac{UA^2U^{\dagger}}{2\text{!}}+\frac{UA^3U^{\dagger}}{3\text{!}}+... \\ &=UU^{\dagger}+UAU^{\dagger}+U\frac{A^2}{2\text{!}}U^{\dagger}+U\frac{A^3}{3\text{!}}U^{\dagger}+… \\ &=U\left( I+A+\frac{A^2}{2\text{!}}+\frac{A^3}{3\text{!}}+… \right) U^{\dagger} \\ &=U\exp \left( A \right) U^{\dagger} \\ &=U\mathrm{diag}\left( e^{A_{11}},e^{A_{22}},e^{A_{33}},… \right) U^{\dagger} \end{aligned} exp(D)=exp(UAU)=UU+UAU+2UA2U+3UA3U+...=UU+UAU+U2A2U+U3A3U+=U(I+A+2A2+3A3+)U=Uexp(A)U=Udiag(eA11,eA22,eA33,)U 必须要引起注意的是:
e x p ( A + B ) ≠ e x p ( A ) e x p ( B ) ≠ e x p ( B ) e x p ( A ) exp\left( A+B \right) \ne exp\left( A \right) exp\left( B \right) \ne exp\left( B \right) exp\left( A \right) exp(A+B)=exp(A)exp(B)=exp(B)exp(A) 我们知道,当 A A A 是表示数的时候等号是成立的,但是当 A 表示是矩阵时,等式成立需要满足一定条件。

通常,下面这种表达形式被称之为以 A A A生成元生成的酉变换。
U ( θ ) = e x p ( − i θ A ) U(\theta )=exp(−i\theta A) U(θ)=exp(iθA) 这种矩阵的指数运算可以利用 Matlab 中的 expm 命令进行方便地计算。

以单位矩阵为生成元,可以构建一种特殊的酉变换 u ( θ ) u(\theta ) u(θ)
u ( θ ) = e x p ( − i θ I ) = ( e − i θ 0 0 e − i θ ) = e x p ( − i θ ) I u(\theta )=exp(-i\theta I)=\left( \begin{matrix} e^{-i\theta}& 0\\ 0& e^{-i\theta}\\ \end{matrix} \right) =exp(-i\theta )I u(θ)=exp(iθI)=(eiθ00eiθ)=exp(iθ)I u ( θ ) u(\theta ) u(θ) 作用在态矢上面,相当于态矢每个分量同时乘以一个系数 e − i θ e^{-i\theta} eiθ。如果将作用后的态矢带入到密度矩阵的表达式中,会发现这一项系数会被消去。

这项系数称为量子态的整体相位。因为任何操作和测量都无法分辨两个相同的密度矩阵,所以量子态的整体相位一般情况下是不会对系统产生任何影响的。

1.3 单量子比特逻辑门

在经典计算机中,单比特逻辑门只有一种——非门(NOT gate),但是在量子计算机中,量子比特情况相对复杂,存在叠加态、相位,所以单量子比特逻辑门会有更加丰富的种类。

量子比特门可以用下面这幅图来表示:
学习笔记 -《量子计算与编程入门》- 量子程序
横线表示一个量子比特从左到右按照时序演化的路线,通俗点讲,就是 ∣ ψ 0 > \left|\psi_0\right> ψ0 演变为 ∣ ψ 1 > \left|\psi_1\right> ψ1 的路线;

蓝色方框表示量子逻辑门,这个图标表示一个名为 U U U 的逻辑门作用在这条路线所代表的量子比特上。

对于一个处于 ∣ ψ 0 > \left|\psi_0\right> ψ0 的量子态,将这个量子逻辑门作用在上面时,相当于将这个代表量子逻辑门的酉矩阵左乘这个量子态的矢量,然后得到下一个时刻的量子态 ∣ ψ 1 > \left|\psi_1\right> ψ1 ∣ ψ 1 > = U ∣ ψ 0 > \left|\psi_1\right>=U\left|\psi_0\right> ψ1=Uψ0

这个表达式对于所有的单比特门或者多比特门都是适用的。对于一个有 n n n 个量子比特的量子系统,它的演化是通过一个 2 n × 2 n 2^n × 2^n 2n×2n 的酉矩阵来表达。

1.3.1 泡利矩阵

泡利矩阵(Pauli matrices)有时也被称作自旋矩阵(spin matrices)。有以下三种形式,分别是:
σ x = ( 0 1 1 0 ) σ y = ( 0 − i i 0 ) σ z = ( 1 0 0 − 1 ) \sigma _x=\left( \begin{matrix} 0& 1\\ 1& 0\\ \end{matrix} \right) \quad \sigma _y=\left( \begin{matrix} 0& -i\\ i& 0\\ \end{matrix} \right) \quad \sigma _z=\left( \begin{matrix} 1& 0\\ 0& -1\\ \end{matrix} \right) σx=(0110)σy=(0ii0)σz=(1001) 三个泡利矩阵所表示的泡利算符代表着对量子态矢量最基本的操作。

如将 σ x \sigma_x σx作用到 ∣ 0 > \left| 0 \right> 0 态上,经过矩阵运算,得到的末态为 ∣ 1 > \left| 1 \right> 1 态。

泡利矩阵的线性组合是完备的二维酉变换生成元,即所有满足 U U † = I UU^†=I UU=I U U U 都能通过下面这种方式得到:
U = e − i θ ( a σ x + b σ y + c σ z ) U=e^{-i\theta \left( a\sigma _x+b\sigma _y+c\sigma _z \right)} U=eiθ(aσx+bσy+cσz)

1.3.2 常见逻辑门以及含义

· Hadamard (H) 门

形式: H = 1 2 [ 1 1 1 − 1 ] H=\frac{1}{\sqrt{2}}\left[ \begin{matrix} 1& 1\\ 1& -1\\ \end{matrix} \right] H=2 1[1111] 线路表示:
学习笔记 -《量子计算与编程入门》- 量子程序
功能:

  • 作用在但量子比特上:将基态变为叠加态
    1 2 [ 1 1 1 − 1 ] ∣ 0 > = ∣ 0 > + ∣ 1 > 2 \frac{1}{\sqrt{2}}\left[ \begin{matrix} 1& 1\\ 1& -1\\ \end{matrix} \right] \left| 0 \right> =\frac{\left| 0 \right> +\left| 1 \right>}{\sqrt{2}} 2 1[1111]0=2 0+1 1 2 [ 1 1 1 − 1 ] ∣ 1 > = ∣ 0 > − ∣ 1 > 2 \frac{1}{\sqrt{2}}\left[ \begin{matrix} 1& 1\\ 1& -1\\ \end{matrix} \right] \left| 1 \right> =\frac{\left| 0 \right> -\left| 1 \right>}{\sqrt{2}} 2 1[1111]1=2 01
  • 作用在任意量子态 ∣ ψ > = α ∣ 0 > + β ∣ 1 > \left| \psi \right> = \alpha\left| 0 \right> + \beta\left| 1 \right> ψ=α0+β1 上:
    ∣ ψ ′ > = H ∣ ψ > = 1 2 [ 1 1 1 − 1 ] [ α β ] = 1 2 [ α + β α − β ] = α + β 2 ∣ 0 > − α − β 2 ∣ 1 > \left| \psi ' \right> =H\left| \psi \right> =\frac{1}{\sqrt{2}}\left[ \begin{matrix} 1& 1\\ 1& -1\\ \end{matrix} \right] \left[ \begin{array}{c} \alpha\\ \beta\\ \end{array} \right] =\frac{1}{\sqrt{2}}\left[ \begin{array}{c} \alpha +\beta\\ \alpha -\beta\\ \end{array} \right] =\frac{\alpha +\beta}{\sqrt{2}}\left| 0 \right> -\frac{\alpha -\beta}{\sqrt{2}}\left| 1 \right> ψ=Hψ=2 1[1111][αβ]=2 1[α+βαβ]=2 α+β02 αβ1

· Pauli-X 门

形式: X = σ x = [ 0 1 1 0 ] X=\sigma _x=\left[ \begin{matrix} 0& 1\\ 1& 0\\ \end{matrix} \right] X=σx=[0110] 线路表示:学习笔记 -《量子计算与编程入门》- 量子程序
功能:

  • 作用在单量子比特上:是经典计算机 NOT 门的量子等价,即将量子态进行翻转,因此又称 NOT 门。
    X ∣ 0 > = [ 0 1 1 0 ] [ 1 0 ] = [ 0 1 ] = ∣ 1 > X\left| 0 \right> =\left[ \begin{matrix} 0& 1\\ 1& 0\\ \end{matrix} \right] \left[ \begin{array}{c} 1\\ 0\\ \end{array} \right] =\left[ \begin{array}{c} 0\\ 1\\ \end{array} \right] =\left| 1 \right> X0=[0110][10]=[01]=1 X ∣ 1 > = [ 0 1 1 0 ] [ 0 1 ] = [ 1 0 ] = ∣ 0 > X\left| 1 \right> =\left[ \begin{matrix} 0& 1\\ 1& 0\\ \end{matrix} \right] \left[ \begin{array}{c} 0\\ 1\\ \end{array} \right] =\left[ \begin{array}{c} 1\\ 0\\ \end{array} \right] =\left| 0 \right> X1=[0110][01]=[10]=0
  • 作用在任意量子态 ∣ ψ > = α ∣ 0 > + β ∣ 1 > \left| \psi \right> = \alpha\left| 0 \right> + \beta\left| 1 \right> ψ=α0+β1 上: ∣ ψ ′ > = X ∣ ψ > = [ 0 1 1 0 ] [ α β ] = [ β α ] = β ∣ 0 > + α ∣ 1 > \left| \psi ' \right> =X\left| \psi \right> =\left[ \begin{matrix} 0& 1\\ 1& 0\\ \end{matrix} \right] \left[ \begin{array}{c} \alpha\\ \beta\\ \end{array} \right] =\left[ \begin{array}{c} \beta\\ \alpha\\ \end{array} \right] =\beta \left| 0 \right> +\alpha \left| 1 \right> ψ=Xψ=[0110][αβ]=[βα]=β0+α1

· Pauli-Y 门

形式: Y = σ y = [ 0 − i i 0 ] Y=\sigma _y=\left[ \begin{matrix} 0& -i\\ i& 0\\ \end{matrix} \right] Y=σy=[0ii0] 线路表示:学习笔记 -《量子计算与编程入门》- 量子程序

功能:

  • 作用在单量子比特上:作用效果为绕 Bloch 球 Y Y Y 轴旋转角度 π π π
    Y ∣ 0 > = [ 0 − i i 0 ] [ 1 0 ] = [ 0 i ] Y ∣ 1 > = [ 0 − i i 0 ] [ 0 1 ] = [ − i 0 ] \begin{aligned} Y\left| 0 \right> &=\left[ \begin{matrix} 0& -i\\ i& 0\\ \end{matrix} \right] \left[ \begin{array}{c} 1\\ 0\\ \end{array} \right] =\left[ \begin{array}{c} 0\\ i\\ \end{array} \right] \\ Y\left| 1 \right> &=\left[ \begin{matrix} 0& -i\\ i& 0\\ \end{matrix} \right] \left[ \begin{array}{c} 0\\ 1\\ \end{array} \right] =\left[ \begin{array}{c} -i\\ 0\\ \end{array} \right] \end{aligned} Y0Y1=[0ii0][10]=[0i]=[0ii0][01]=[i0]

  • 作用在任意量子态 ∣ ψ > = α ∣ 0 > + β ∣ 1 > \left| \psi \right> = \alpha\left| 0 \right> + \beta\left| 1 \right> ψ=α0+β1 上: ∣ ψ ′ > = Y ∣ ψ > = [ 0 − i i 0 ] [ α β ] = [ − i β i α ] = − i β ∣ 0 > + i α ∣ 1 > \left| \psi ' \right> =Y\left| \psi \right> =\left[ \begin{matrix} 0& -i\\ i& 0\\ \end{matrix} \right] \left[ \begin{array}{c} \alpha\\ \beta\\ \end{array} \right] =\left[ \begin{array}{c} -i\beta\\ i\alpha\\ \end{array} \right] =-i\beta \left| 0 \right> +i\alpha \left| 1 \right> ψ=Yψ=[0ii0][αβ]=[iβiα]=iβ0+iα1

· Pauli-Z 门

形式: Z = σ z = [ 1 0 0 − 1 ] Z=\sigma _z=\left[ \begin{matrix} 1& 0\\ 0& -1\\ \end{matrix} \right] Z=σz=[1001] 线路表示:学习笔记 -《量子计算与编程入门》- 量子程序

功能:

  • 作用在单量子比特上:作用效果是绕 Bloch 球 Z Z Z 轴旋转角度 π π π
    Z ∣ 0 > = [ 1 0 0 − 1 ] [ 1 0 ] = [ 1 0 ] Z ∣ 1 > = [ 1 0 0 − 1 ] [ 0 1 ] = [ 0 − 1 ] \begin{aligned} Z\left| 0 \right> &=\left[ \begin{matrix} 1& 0\\ 0& -1\\ \end{matrix} \right] \left[ \begin{array}{c} 1\\ 0\\ \end{array} \right] =\left[ \begin{array}{c} 1\\ 0\\ \end{array} \right] \\ Z\left| 1 \right> &=\left[ \begin{matrix} 1& 0\\ 0& -1\\ \end{matrix} \right] \left[ \begin{array}{c} 0\\ 1\\ \end{array} \right] =\left[ \begin{array}{c} 0\\ -1\\ \end{array} \right] \end{aligned}\\ Z0Z1=[1001][10]=[10]=[1001][01]=[01]
  • 作用在任意量子态 ∣ ψ > = α ∣ 0 > + β ∣ 1 > \left| \psi \right> = \alpha\left| 0 \right> + \beta\left| 1 \right> ψ=α0+β1 上: ∣ ψ ′ > = Z ∣ ψ > = [ 1 0 0 − 1 ] [ α β ] = [ α − β ] = α ∣ 0 > − β ∣ 1 > \left| \psi ' \right> =Z\left| \psi \right> =\left[ \begin{matrix} 1& 0\\ 0& -1\\ \end{matrix} \right] \left[ \begin{array}{c} \alpha\\ \beta\\ \end{array} \right] =\left[ \begin{array}{c} \alpha\\ -\beta\\ \end{array} \right] =\alpha \left| 0 \right> -\beta \left| 1 \right> ψ=Zψ=[1001][αβ]=[αβ]=α0β1

· 旋转门(rotation operators):分别用不同的泡利矩阵作为生成元是构成 R X RX RX, R Y RY RY, R Z RZ RZ 的方法

三种旋转门的生成方式相同,这里以 RX 门为例。

泡利矩阵的线性组合是完备的二维酉变换生成元,即所有满足 U U † = I UU^†=I UU=I U U U 都能通过下面这种方式得到:
U = e − i θ ( a σ x + b σ y + c σ z ) U=e^{-i\theta \left( a\sigma _x+b\sigma _y+c\sigma _z \right)} U=eiθ(aσx+bσy+cσz)

RX 门由 Pauli-X 矩阵作为生成元生成,其矩阵形式为: R X ( θ ) ≡ e − i θ X / 2 = cos ⁡ ( θ 2 ) I − i sin ⁡ ( θ 2 ) X = [ cos ⁡ ( θ 2 ) − i sin ⁡ ( θ 2 ) − i sin ⁡ ( θ 2 ) cos ⁡ ( θ 2 ) ] RX\left( \theta \right) \equiv e^{-i\theta X/2}=\cos \left( \frac{\theta}{2} \right) I-i\sin \left( \frac{\theta}{2} \right) X=\left[ \begin{matrix} \cos \left( \frac{\theta}{2} \right)& -i\sin \left( \frac{\theta}{2} \right)\\ -i\sin \left( \frac{\theta}{2} \right)& \cos \left( \frac{\theta}{2} \right)\\ \end{matrix} \right] RX(θ)eiθX/2=cos(2θ)Iisin(2θ)X=[cos(2θ)isin(2θ)isin(2θ)cos(2θ)] 线路表示:学习笔记 -《量子计算与编程入门》- 量子程序
作用在任意量子态 ∣ ψ > = α ∣ 0 > + β ∣ 1 > \left| \psi \right> = \alpha\left| 0 \right> + \beta\left| 1 \right> ψ=α0+β1 上: ∣ ψ ′ > = R X ( π 2 ) ∣ ψ > = 2 2 [ 1 − i − i 1 ] [ α β ] = 2 2 [ α − i β β − i α ] = 2 ( α − i β ) 2 ∣ 0 > − 2 ( β − i α ) 2 β ∣ 1 > \left| \psi ' \right> =RX\left( \frac{\pi}{2} \right) \left| \psi \right> =\frac{\sqrt{2}}{2}\left[ \begin{matrix} 1& -i\\ -i& 1\\ \end{matrix} \right] \left[ \begin{array}{c} \alpha\\ \beta\\ \end{array} \right] =\frac{\sqrt{2}}{2}\left[ \begin{array}{c} \alpha -i\beta\\ \beta -i\alpha\\ \end{array} \right] =\frac{\sqrt{2}\left( \alpha -i\beta \right)}{2}\left| 0 \right> -\frac{\sqrt{2}\left( \beta -i\alpha \right)}{2}\beta \left| 1 \right> ψ=RX(2π)ψ=22 [1ii1][αβ]=22 [αiββiα]=22 (αiβ)022 (βiα)β1

RX, RY, RZ 意味着将量子态在布洛赫球上分别绕着 X, Y, Z 轴旋转 θ 角度,所以 RX,RY 能带来概率幅的变化,而 RZ 只有相位的变化

那么,共同使用这三种操作能使量子态在整个布洛赫球上自由移动!

1.4 多量子比特逻辑门

不论是在经典计算还是量子计算中,两比特无疑是建立比特之间联系的最重要桥梁。不同于经典计算中的与或非门及它们的组合,量子逻辑门要求所有的逻辑操作必须是酉变换,所以输入和输出的比特数量是相等的。

在描述两量子比特门之前,先将之前对于单量子比特的表示方式扩展一下。

联立两个量子比特或者两个以上的量子比特时,就用到复合系统中量子态演化的假设。

对于一个 n n n 量子比特 ∣ x n − 1 … x 0 > \left| x_{n-1}…x_0 \right> xn1x0 n n n 量子比特系统的计算基就由 2 n 2^n 2n 个单位正交矢量组成,借助于经典比特的进位方式对量子比特进行标记,从左到右依次是二进制中的从高位到低位,也就是说 ∣ x n − 1 … x 0 > \left| x_{n-1}…x_0 \right> xn1x0 x n − 1 x_{n-1} xn1 为高位, x 0 x_0 x0 为低位。

比如对于一个 2 量子比特的系统,其计算基分别记做:学习笔记 -《量子计算与编程入门》- 量子程序
其中红色标识所在位为高位,蓝色标识所在位为低位。

2 比特量子逻辑门的线路表示:
学习笔记 -《量子计算与编程入门》- 量子程序
每根线表示一个量子比特演化的路线,这和单比特门中的横线是类似的,不一样的是这两根线有位次之分,从上到下依次分别表示从低位到高位的量子比特演化的路线。

这个图标横跨两个量子比特,它代表将一个两比特门作用在这两个量子比特上。

· 控制非门(Control-NOT)(CNOT 门)

若低位为控制比特,那么它具有如下的矩阵形式:
C N O T = [ 1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 ] CNOT=\left[ \begin{matrix} 1& 0& 0& 0\\ 0& 0& 0& 1\\ 0& 0& 1& 0\\ 0& 1& 0& 0\\ \end{matrix} \right] CNOT=1000000100100100 线路表示:学习笔记 -《量子计算与编程入门》- 量子程序
含实点的路线对应的量子比特称为控制比特(control qubit),含 + + + 的路线对应的量子比特为目标比特(target qubit)

这周的内容就先写到这里,祝大家新一周愉快!

相关文章:

  • 2021-11-07
  • 2021-05-29
  • 2022-02-27
  • 2021-11-21
  • 2021-04-15
  • 2021-12-05
  • 2021-05-23
猜你喜欢
  • 2021-10-09
  • 2021-10-11
  • 2021-10-12
  • 2021-08-02
  • 2022-01-03
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案