论文阅读:《量子计算模拟及优化方法综述》
1 概述
本文综述实现量子计算模拟的基本方法,总结量子线路模拟的优化方法和已有的模拟器,并阐述在超算上模拟量子计算的核心问题,讨论相应的优化方法
1.1 量子计算的主要研究方向
量子计算被认可的潜在应用领域:密码学、量子化学、材料科学、机器学习等。
量子计算的主要研究方向包括:构造含有更多量子比特的通用量子计算机、设计更有效的量子算法以及优化量子程序编译器,从而使量子计算机能被广泛使用。
展现现阶段量子计算机对经典计算机的优势。
探索新的效率明显优于经典计算机的量子算法。
2 量子计算原理
介绍了量子计算的背景知识,包括量子比特、量子门、量子线路、量子操作系统、量子模拟。
2.1 量子比特
经典比特只有0和1两种状态。
在量子比特中,0和1两种状态被称为基本态,量子比特位的状态还有可能是两种状态的叠加态。
叠加态用符号
∣
ψ
⟩
|\psi\rangle
∣ψ⟩表示,可以看作是以两个基本态为基底的二位复空间上的向量。
∣
ψ
⟩
=
α
∣
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。
对于n位量子比特可以表示为
2
n
2^{n}
2n个基态的复合态。
∣
ψ
⟩
=
α
0...00
∣
0...00
⟩
+
α
0...01
∣
0...01
⟩
+
.
.
.
+
α
1...11
∣
1...11
⟩
|\psi\rangle=\alpha _{0...00}|0...00\rangle+\alpha _{0...01}|0...01\rangle+...+\alpha _{1...11}|1...11\rangle
∣ψ⟩=α0...00∣0...00⟩+α0...01∣0...01⟩+...+α1...11∣1...11⟩
也可以表示为:
∣
ψ
⟩
=
∑
i
=
0
2
n
−
1
α
i
∣
i
⟩
|\psi\rangle=\sum_{i=0}^{2^{n}-1} \alpha _{i}|i\rangle
∣ψ⟩=i=0∑2n−1αi∣i⟩
同时满足归一约束条件:
∑
i
=
0
2
n
−
1
∣
α
i
∣
2
=
1
\sum_{i=0}^{2^{n}-1} |\alpha _{i}|^{2}=1
i=0∑2n−1∣αi∣2=1
2.1 量子门
经典计算机中使用逻辑门(或门、与门、非门等)来操作经典比特的状态,而在量子计算中使用的门被称为量子门,使用量子门来操作量子比特的状态。
经过量子门变换后,叠加态变为:
∣
ψ
⟩
=
α
′
∣
0
⟩
+
β
′
∣
1
⟩
|\psi\rangle=\alpha^{'} |0\rangle+\beta^{'}|1\rangle
∣ψ⟩=α′∣0⟩+β′∣1⟩
也需要满足归一约束条件,因此量子门对应的矩阵U必须是酉矩阵,即满足UU=I,U为U的共轭转置。
综述中给出了以下几种常用的门,可以按照操作的量子比特的数目分为单量子比特门和多量子比特门。单量子比特操作中常用的有Hadamard门、Pauli-X门、Pauli-Y门、 相位门(S门)等,多量子比特操作中常用的有 CNOT 门、受控Z门(CZ 门)、Toffoli门等。
2.3 量子线路
图1为2个量子比特的 Grover 搜索算法线路图[1,其 中每一条线代表一个量子比特,量子门操作使用不同的方块表示。
为研究量子优越性,研究人员提出了 一些非常适合于展现量子设备计算能力的特定问题:
随机量子线路采样(Random Circuit Sampling):
量子比特在特定图结构上,周期性地作用与单比特量子门和多比特量子门,以单比特量子门结束。
IQP(Instantaneous Quantum Polynomial)线路:
与光子输入输出的分布有关,难点在于求解复矩阵的积和式,这对经典计算机是困难的。
高斯玻色采样(Boson Sampling):
先在每个比特上作用Hadamard门,再对所有比特做对角门变换,最后再对每个比特做Hadamard门变换。
三种示意图如下所示:
2.4 量子操作系统
国内提出了QuOS原型。
2.5 量子模拟
由于真机可用的量子位数少,因此使用经典计算机,依靠数学理论模型进行模拟算法。具体的模拟方法见下文。
3 量子计算原理
量子计算模拟主要是通过输入不同的矩阵来改变要计算的量子态的状态,从而引起量子线路状态的变化。
3.1 量子概率幅模拟
全概率幅模拟:
直接计算并存储全部的量子态。n个量子比特对应
2
n
2^{n}
2n个量子态,例如50个量子比特的计算机,采用双精度浮点数表达概率幅,那么需要
2
50
+
4
2^{50+4}
250+4Byte=16PB的存储空间,空间复杂度过大。该类方法适合模拟具有较少量子比特数、任意深度的量子线路,适用于需要获取全部模拟结果等场景。
部分概率幅模拟方法:
效率高 ,相比于全概率幅模拟方法能够模拟具有更多量子位的浅深度的量子线路。
张量网络态算法:
可以用几乎相同的模型来研究不同硬件架构下不同深度的随机量子线路,原因在于其通常存在一个简单的路径搜索算法,仅需寻找一个数十个节点的平面图上的最佳收缩路径,因而实现起来只需要很少或者完全不需要经验性参数。
3.2 针对Clifford线路的量子计算模拟
在量子纠错码上,可以横向实现的量子逻辑门基本来自于 Clifford 群。 Clifford 群是指把 Pauli 群共轭映射到 Pauli 群的操作形成的群 ,包 括 Hadamard 门、相位门S和受控非门 CNOT 等。
3.2 针对含噪声线路的量子计算模拟
降噪技术的策略是设计更稳健的量子位来延长时间,以及执行更精确的门操作以提高可靠性等。
使用随机编译的策略,将多个随机线路上的预期噪声打乱,形成一种简单的随机。
4 量子计算模拟器
5 基于超算集群的量子计算模拟
主要涉及以下两个影响性能的关键因素。
5.1 任务拆分
将量子线路拆分为多个子线路,将子线路放到不同节点作为子任务并行计算。
当分割线路时若遇到了CZ门,则要根据线路状态产生分支。若控制线路状态为
∣
0
⟩
|0\rangle
∣0⟩,则目标线路不受影响;若控制线路状态为
∣
1
⟩
|1\rangle
∣1⟩,则目标线路要进行一个CZ门操作,如上图所示。
例如:系统在分割前有N条线路,全概率幅模拟需要 2 N 2^{N} 2NByte的存储空间。在进行一次分割后,产生了两个量子系统,线路均为 N / 2 N/2 N/2,存储空间为 2 ∗ 2 N / 2 2*2^{N/2} 2∗2N/2Byte存储空间。若在分割过程中分割了n个CZ门,那么需要 2 ∗ 2 N / 2 ∗ 2 n 2*2^{N/2}*2^{n} 2∗2N/2∗2nByte的存储空间。注意到当 n > N / 2 − 1 n>N/2-1 n>N/2−1时,需要的内存比不分割还大。
文献对不同量子线路进行了分割,并进行了36层深度的模拟。定义的量子比特复杂度等于需要同等大小内存的未拆分线路的量子比特数。可以看出,每分割一个CZ门,系统的子线路个数翻倍。
该方法适用于大尺寸少深度的线路。
implicit decomposition 分割算法
A部分需要
2
2
∗
2
2
=
16
2^{2}*2^{2}=16
22∗22=16个概率幅,B部分由于经过b2后结束可以减少一半概率幅。
5.2 通信优化
量子比特可分为3种: 本地量子比特,节点内非本地量子比特,节点外非本地量子比特。
假设每个节点内可以容纳
L
L
L位量子比特的所有概率幅,则模拟
N
N
N位量子比特需要
2
N
−
L
2^{N-L}
2N−L个节点。
如果对每个节点进行二进制编码,量子态
(
a
N
−
1
.
.
.
a
2
a
1
a
0
)
(a_{N-1}...a_{2}a_{1}a _{0})
(aN−1...a2a1a0)将存储在
(
a
N
−
1
a
N
−
2
.
.
.
a
L
+
1
a
L
)
(a_{N-1}a_{N-2}...a_{L+1}a _{L})
(aN−1aN−2...aL+1aL)号节点上,存储在该节点的位置为
(
a
L
−
1
.
.
.
a
2
a
1
a
0
)
(a_{L-1}...a_{2}a_{1}a _{0})
(aL−1...a2a1a0)。例如当
N
=
5
,
L
=
2
N=5,L=2
N=5,L=2时,系统使用8个节点,每个节点存储4个概率幅。量子态
(
11010
)
(11010)
(11010)存储在
(
110
)
(110)
(110)号节点的3号位置。
对第
i
i
i条线路的单门操作需要更改量子态概率幅
(
∗
∗
∗
a
i
∗
∗
∗
)
(***a_{i}***)
(∗∗∗ai∗∗∗),需要读取和更新量子态系数
(
∗
∗
∗
0
i
∗
∗
∗
)
(***0_{i}***)
(∗∗∗0i∗∗∗)和
(
∗
∗
∗
1
i
∗
∗
∗
)
(***1_{i}***)
(∗∗∗1i∗∗∗)。
当
i
<
L
i<L
i<L时,两组概率幅放在同一节点中,不需要跨节点通信,所有
2
N
−
L
2^{N-L}
2N−L个节点可以并行完成
2
L
−
1
2^{L-1}
2L−1次计算。因此这前
L
L
L位量子比特被称为本地量子比特。
当
i
>
L
i>L
i>L时,需要跨节点通信,第
(
a
N
−
1
.
.
.
0
i
.
.
.
a
L
)
(a_{N-1}...0_{i}...a_{L})
(aN−1...0i...aL)号节点和第
(
a
N
−
1
.
.
.
1
i
.
.
.
a
L
)
(a_{N-1}...1_{i}...a_{L})
(aN−1...1i...aL)号节点需要互相交换概率幅信息,需要进行
2
N
−
1
2^{N-1}
2N−1次MPI通信。因此这
L
L
L至
N
−
L
N-L
N−L位比特被称为非本地量子比特。
对第0位和第1位量子比特做CZ门操作,即将
A
=
(
∗
∗
∗
01
)
A=(***01)
A=(∗∗∗01)和
B
=
(
∗
∗
∗
11
)
B=(***11)
B=(∗∗∗11)量子态进行交换,只需要在节点内进行通信。如下图曲线所示。
对第3位和第4位量子比特做CZ门操作,即将
A
=
(
01
∗
∗
∗
)
A=(01***)
A=(01∗∗∗)和
B
=
(
11
∗
∗
∗
)
B=(11***)
B=(11∗∗∗)量子态进行交换,需要在节点间进行通信。如下图直线所示。
3、4位XX Ising门交换数据交换如下图所示。即将3、4位数据与0、1位数据交换。即 :
(
00
∗
01
)
(00*01)
(00∗01)与
(
01
∗
00
)
(01*00)
(01∗00)互 换 ;
(
00
∗
10
)
(00*10)
(00∗10)与
(
10
∗
00
)
(10*00)
(10∗00)互 换 ;
(
00
∗
11
)
(00*11)
(00∗11)与
(
11
∗
00
)
(11*00)
(11∗00)互 换 ;
(
01
∗
10
)
(01*10)
(01∗10)与
(
10
∗
01
)
(10*01)
(10∗01)互 换 ;
(
01
∗
11
)
(01*11)
(01∗11)与
(
11
∗
01
)
(11*01)
(11∗01)互 换 ;
(
10
∗
11
)
(10*11)
(10∗11)与
(
11
∗
10
)
(11*10)
(11∗10)互 换 ,共进行12次交换。
6 结束语
在算法方面,张量网络缩并的顺序极大地影响计算效率,未来可探索更优缩并顺序算法;在工程方面,需要应用张量运算来充分发挥硬件性能,进一步减少线路模拟所需的时间。同时,可扩展性和容错也将是未来量子计算研究中的关键问题。