Skip to content

量子门理论

深入探讨量子门理论,包括通用门集、Clifford 层次结构、门分解和 Solovay-Kitaev 定理。本指南将理论基础与 pyqpanda3 提供的门实现联系起来。


量子门作为幺正算符

作用于 n 个量子比特的量子门表示为 2n×2n幺正矩阵(Unitary Matrix) U,满足:

UU=UU=I

其中 UU 的共轭转置(伴随矩阵)。幺正性保证了:

  • 概率守恒ψ|ψ=ψ|UU|ψ=ψ|ψ=1
  • 操作可逆:给定 |ψ=U|ψ,可以恢复 |ψ=U|ψ
  • 变换是线性的:量子力学是线性的,因此所有门操作都是态矢量上的线性变换

pyqpanda3 中的门操作

pyqpanda3 中的每个 QGate 对象都支持以下源自幺正性的基本操作:

操作方法数学含义
伴随(dagger)gate.dagger()UU(逆门)
幂次gate.power(k)UUk(重复施加)
控制gate.control(qubit)UCU=|00|I+|11|U
矩阵gate.matrix()返回幺正矩阵 U

单量子比特门

Pauli 门

三个 Pauli 门是基本的单量子比特操作。它们与恒等门一起构成了单量子比特的 Pauli 群(Pauli Group)

X 门(NOT / 比特翻转)

X=(0110),X|0=|1,X|1=|0

X 门翻转计算基态,类似于经典的 NOT 门。

Y 门

Y=(0ii0),Y|0=i|1,Y|1=i|0

Y 门同时实现比特翻转和相位翻转:Y=iXZ

Z 门(相位翻转)

Z=(1001),Z|0=|0,Z|1=|1

Z 门翻转 |1 的相位,同时保持 |0 不变。

恒等门(Identity Gate)

I=(1001)

恒等门保持状态不变。它常用于填充线路和表示空闲量子比特。

Pauli 群性质:Pauli 矩阵满足 X2=Y2=Z2=I 和反对易关系 {X,Y}={Y,Z}={Z,X}=0

Hadamard 门

Hadamard 门创建等概率叠加,是大多数量子算法的核心:

H=12(1111)H|0=|0+|12=|+,H|1=|0|12=|

关键性质:

  • H=12(X+Z),连接 X 基和 Z 基
  • H2=I(自逆)
  • HXH=ZHZH=X(基变换)
  • {|0,|1} 创建 {|+,|} Hadamard 基

相位门

相位门在 |0|1 之间引入相对相位:

S 门(相位门,Z

S=(100i)=Z1/2

T 门(Z4

T=(100eiπ/4)=Z1/4

P 门(通用相位)

P(ϕ)=(100eiϕ)

注意:P(π/2)=SP(π/4)=T

S1、X1、Y1、Z1 门(平方根变体):

S=S1=(100i)X1=12(1+i1i1i1+i)=eiπX/4=RX(π/2)Y1=12(1+i1i1+i1+i)=eiπY/4=RY(π/2)Z1=12(1+i001+i)(100i)=eiπZ/4

旋转门

旋转门提供围绕每个 Pauli 轴的连续参数单量子比特操作:

RX(θ)=eiθX/2=(cos(θ/2)isin(θ/2)isin(θ/2)cos(θ/2))RY(θ)=eiθY/2=(cos(θ/2)sin(θ/2)sin(θ/2)cos(θ/2))RZ(θ)=eiθZ/2=(eiθ/200eiθ/2)

RPHI(ϕ,λ) 门是通用的参数化相位门:

RPHI(ϕ,λ)=(100eiϕ)eiλ

通用幺正门(U1、U2、U3、U4)

U 系列门提供逐渐通用的单量子比特幺正操作:

U1(λ) — 等价于 P(λ)

U1(λ)=(100eiλ)

U2(ϕ, λ)

U2(ϕ,λ)=12(1eiλeiϕei(ϕ+λ))

U3(θ, ϕ, λ) — 最通用的单量子比特幺正操作(除全局相位外):

U3(θ,ϕ,λ)=(cos(θ/2)eiλsin(θ/2)eiϕsin(θ/2)ei(ϕ+λ)cos(θ/2))

U4(matrix) — 任意 2×2 幺正矩阵:

U4=任意幺正 2×2 矩阵

ZYZ 分解:任何单量子比特幺正操作都可以分解为 U=eiαRZ(β)RY(γ)RZ(δ),其中 α,β,γ,δ 为角度。这意味着 U3(或等价地,三个旋转门)足以实现任何单量子比特门。


双量子比特门

CNOT(受控非门)

CNOT 门是最广泛使用的双量子比特门,对于创建纠缠态至关重要:

CNOT=|00|I+|11|X=(1000010000010010)

当控制量子比特为 |1 时,目标量子比特被翻转。CNOT 门可以从直积态创建 Bell 态:

CNOT(HI)|00=|00+|112

CZ(受控 Z 门)

CZ=|00|I+|11|Z=(1000010000100001)

CZ 门是对称的 — 控制和目标量子比特可以互换。当两个量子比特都为 |1 时,它施加 1 的相位。

受控旋转门

pyqpanda3 提供旋转门的受控变体:

  • CP(ϕ):受控相位门 — 当控制比特为 |1 时对目标施加 P(ϕ)
  • CRX(θ):受控 RX 旋转
  • CRY(θ):受控 RY 旋转
  • CRZ(θ):受控 RZ 旋转

参数化双量子比特旋转门

这些对称的双量子比特门由 Pauli 张量积的指数定义:

RXX(θ)=eiθXX/2RYY(θ)=eiθYY/2RZZ(θ)=eiθZZ/2RZX(θ)=eiθZX/2

这些门在变分量子算法和量子模拟中尤为重要(例如,Ising 模型的 Trotter 化时间演化使用 RZZ 门)。

SWAP 系列

SWAP:交换两个量子比特的状态。

SWAP=(1000001001000001)

分解:SWAP=CNOT12CNOT21CNOT12(3 个 CNOT 门)。

iSWAP:带有附加相位的 SWAP:

iSWAP=(100000i00i000001)

SQiSWAPiSWAP):iSWAP 的平方根,是一些超导平台的原生门。

SQiSWAP=(100001/2i/200i/21/200001)

多量子比特门与特殊门

Toffoli 门(CCX)

Toffoli 门是双重受控非门:

CCX|a,b,c=|a,b,c(ab)

当且仅当两个控制量子比特 ab 都为 |1 时,目标量子比特 c 被翻转。Toffoli 门对经典可逆计算是通用的,在许多量子算法中起关键作用。

分解:Toffoli 门分解为 {CNOT, T, H} 时需要 6 个 CNOT 门和若干单量子比特门。

Molmer-Sorensen (MS) 门

MS 门是离子阱量子计算机的原生双量子比特门:

MS(ϕ1,ϕ2)=ei(ϕ1XX+ϕ2YY)/2

ϕ1=ϕ2=π/4 时的标准 MS 门可以从直积态生成最大纠缠态。

ORACLE 门

pyqpanda3 支持任意幺正 oracle 门:

Uf|x=(1)f(x)|x

其中 f:{0,1}n{0,1} 是布尔函数。Oracle 是 Grover 搜索和 Deutsch-Jozsa 等算法的核心。

BARRIER、IDLE、ECHO

这些是用于线路控制的非幺正操作:

  • BARRIER:阻止优化过程中门越过屏障重排序。在转译过程中维持线路结构时必不可少。
  • IDLE:表示量子比特处于空闲状态(无操作)。
  • ECHO:用于动态解耦序列。

通用门集

通用性定义

一个量子门集 G通用的(Universal),如果可以使用 G 中的有限序列门以任意精度近似 n 个量子比特上的任何幺正操作。

更形式化地说,G 是通用的,如果对于任何幺正矩阵 U 和任何 ϵ>0,存在一个由 G 中门组成的线路 C,使得:

|UC|<ϵ

其中 || 是算子范数。

标准通用门集:

最常见的通用门集是 {H,T,CNOT}

  • H:创建叠加态,实现量子并行性
  • T:提供非 Clifford 相位旋转(进入 Clifford 层次结构的第三层)
  • CNOT:在量子比特之间创建纠缠

为什么这个集合是通用的:任何单量子比特幺正操作都可以用 {H,T} 近似(通过 Solovay-Kitaev 定理),CNOT 实现多量子比特操作。这种组合可以近似任意数量量子比特上的任何幺正操作。

其他通用门集

实践中还有几个重要的替代通用门集:

通用门集备注
{H,S,T,CNOT}标准 Clifford+T 集合
{RX,RY,RZ,CNOT}基于旋转的集合(用于变分算法)
{U3,CNOT}IBM 的原生门集
{X,CNOT,T}替代 Clifford+T
{RZ,X,CNOT}部分超导平台使用
{RX,RZ,iSWAP}部分架构的原生门集
{RXX,RZ}部分离子阱平台的原生门集

通用性证明概要

证明 {H,T,CNOT} 是通用的过程分为三步:

  1. 单量子比特通用性:任何单量子比特幺正操作可以写成 U=eiαRZ(β)RY(γ)RZ(δ)(ZYZ Euler 分解)。HT 门可以以任意精度近似旋转。

  2. 二阶幺正分解:任何 n 量子比特幺正操作可以分解为二阶幺正操作的乘积(仅在 2D 子空间上非平凡作用的幺正操作)。

  3. 通过 CNOT 实现多量子比特分解:每个二阶幺正操作可以用 CNOT 门和单量子比特门实现。


Clifford 层次结构

Clifford 层次结构(Clifford Hierarchy) 是一组嵌套的门集合,按其共轭作用如何变换 Pauli 算符来组织:

第 1 层:Pauli 群 C1

C1=X,Y,Z,I/{±1,±i}

Pauli 群由所有 Pauli 矩阵的张量积与全局相位组成。单量子比特 Pauli 群有 4 个元素(模相位):{I,X,Y,Z}

第 2 层:Clifford 群 C2

C2={U:UPUC1,PC1}

Clifford 群是 Pauli 群的正规化子(Normalizer) — 它通过共轭将 Pauli 算符映射为 Pauli 算符。n 量子比特上的 Clifford 群由以下门生成:

C2=H,S,CNOT

关键性质

  • 可通过 Gottesman-Knill 定理 高效模拟:具有计算基输入和测量的 Clifford 线路可以在经典计算机上以多项式时间模拟
  • 足以进行量子纠错(稳定子码在 Clifford 框架中定义)
  • 不足以实现通用量子计算 — 仅 Clifford 线路可以被经典高效模拟

第 3 层及更高层 Ck

Ck={U:UPUCk1,PC1}

T 门在 C3C2 中。层次结构的更高层提供具有越来越复杂的 Pauli 共轭模式的门。

为什么非 Clifford 门能实现量子优势

T 门(T=diag(1,eiπ/4))是最简单的非 Clifford 门。将 T 门添加到 Clifford 群中可以实现:

  1. 通用性{H,S,CNOT,T} 是通用门集
  2. 非稳定子态:T 门创建稳定子形式之外的态(魔力态,Magic State)
  3. 量子加速:因式分解(Shor 算法)等问题需要非 Clifford 操作

T 门的资源开销通常是容错量子计算的瓶颈,因此引入了 T 计数(T-count)(T 门数量)作为关键线路度量。

魔力态蒸馏

由于 T 门在容错设置中代价昂贵,常见方法是:

  1. 直接执行所有 Clifford 操作(在纠错码中代价较低)
  2. 通过蒸馏协议离线制备高保真"魔力态" |T=T|+
  3. 使用门传送注入 T 门:T=HCNOT(I|T)

这将问题分为 Clifford 操作(可高效实现)和魔力态制备(资源密集型)。


门分解

Euler 分解(单量子比特)

任何单量子比特幺正操作都可以用三个旋转分解。ZYZ 分解为:

U=eiαRZ(β)RY(γ)RZ(δ)

其中 α 是全局相位,(β,γ,δ) 是 Euler 角。

ZXZ 分解是替代方案:

U=eiαRZ(β)RX(γ)RZ(δ)

pyqpanda3 的 U3 门直接实现 ZYZ 分解:

U3(θ,ϕ,λ)=RZ(ϕ)RY(θ)RZ(λ)

KAK 分解(双量子比特)

任何双量子比特幺正操作都可以用 KAK(Cartan)分解

U=(A1A2)exp(ijcjσjσj)(A3A4)

其中 A1,A2,A3,A4 是单量子比特幺正操作,(c1,c2,c3) 是"相互作用系数"(Cartan 坐标)。

标准双量子比特分解需要:

  • 3 个 CNOT 门用于任意双量子比特幺正操作
  • 2 个 CNOT 门用于一些特殊情况(如受控幺正)
  • 1 个 CNOT 门用于有限类别(如 CNOT、CZ、SWAP)

量子 Shannon 分解

对于 n 量子比特线路,量子 Shannon 分解(QSD) 递归地分解幺正操作:

  1. n 量子比特幺正操作拆分为 n1 量子比特上的受控操作
  2. 递归分解受控操作
  3. 基本情况:单量子比特 Euler 分解

QSD 对 n 量子比特幺正操作需要 9164n322n 个 CNOT 门。

在 pyqpanda3 中使用 decompose()

pyqpanda3 提供 decompose() 函数将线路和幺正操作分解为基本门集:

python
from pyqpanda3.core import QProg, QCircuit
from pyqpanda3.transpilation import decompose

# 将线路分解为 {CNOT, RZ, SX}
prog = QProg()
# ... 构建线路 ...
result = decompose(prog, basic_gates=["CNOT", "RZ", "X1"])

# 分解幺正矩阵
import numpy as np
matrix = np.array([[1, 0, 0, 0],
                   [0, 1, 0, 0],
                   [0, 0, 0, 1],
                   [0, 0, 1, 0]], dtype=complex)
circuit = decompose(matrix, qubits=[0, 1], basic_gates=["CNOT", "U3"])

完整 API 参考请参见 decompose


Solovay-Kitaev 定理

陈述

Solovay-Kitaev 定理保证任何单量子比特门都可以使用有限通用门集高效近似:

定理(Solovay-Kitaev):设 GSU(2) 中生成稠密子群的有限门集。那么对于任何 USU(2) 和任何 ϵ>0,存在一个由 G 中门组成的线路 C,使得 |UC|ϵ,且 C 的长度为 O(logc(1/ϵ)),其中 c3.97

近似界限

该定理意味着以精度 ϵ 近似幺正操作所需的门数按多项式对数尺度增长:

门数=O(log3.97(1ϵ))

对于 Clifford+T 的特定情况:

T 计数=O(log(1ϵ))(使用最优合成)

这比朴素网格搜索高效得多,后者需要 O(1/ϵ) 个门。

实际意义

  1. 无精度损失:我们可以仅以多项式开销就指数级精度近似任何门
  2. Clifford+T 编译:T 门是唯一需要的非 Clifford 门;开销按 O(log(1/ϵ)) 缩放
  3. 门集之间的权衡:更丰富的门集(例如包含中等精度旋转门)可以减少近似开销

Solovay-Kitaev 算法

SK 算法递归地构造近似:

SK(U, n):
    if n == 0:
        return U 的最佳网格近似
    else:
        U_prev = SK(U, n-1)
        Δ = U · U_prev†  (误差幺正)
        分解 Δ = V · W (群换位子)
        V_approx = SK(V, n-1)
        W_approx = SK(W, n-1)
        return U_prev · V_approx · W_approx · V_approx† · W_approx†

每次递归将近似误差减少一个常数因子。


总结:pyqpanda3 中的门分类


另请参阅

Released under the MIT License.