CN116957084A - 基于混合子空间的线性***求解方法、装置、介质及设备 - Google Patents

基于混合子空间的线性***求解方法、装置、介质及设备 Download PDF

Info

Publication number
CN116957084A
CN116957084A CN202210387083.9A CN202210387083A CN116957084A CN 116957084 A CN116957084 A CN 116957084A CN 202210387083 A CN202210387083 A CN 202210387083A CN 116957084 A CN116957084 A CN 116957084A
Authority
CN
China
Prior art keywords
subspace
linear system
matrix
solution
quantum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210387083.9A
Other languages
English (en)
Inventor
马腾阳
李叶
窦猛汉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Benyuan Quantum Computing Technology Hefei Co ltd
Original Assignee
Benyuan Quantum Computing Technology Hefei Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Benyuan Quantum Computing Technology Hefei Co ltd filed Critical Benyuan Quantum Computing Technology Hefei Co ltd
Priority to CN202210387083.9A priority Critical patent/CN116957084A/zh
Publication of CN116957084A publication Critical patent/CN116957084A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于混合子空间的线性***求解方法、装置、介质及设备,方法包括:首先确定待求解线性***并对待求解线性***进行预处理,其次分别构建求解线性***的混合子空间和用于求解线性***的量子线路,利用混合子空间和量子线路,计算预处理后的待求解线性***的目标解,利用混合子空间的综合求解性能,以解决现有技术中的不足,它能够降低解线性问题求解的时间复杂度和计算量,加快量子线性算法的求解速度。

Description

基于混合子空间的线性***求解方法、装置、介质及设备
技术领域
本发明属于量子计算技术领域,特别是一种基于混合子空间的线性***求解方法、装置、介质及设备。
背景技术
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解RSA密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
量子计算模拟是一个借助数值计算和计算机科学来仿真遵循量子力学规律的模拟计算,作为一个仿真程序,它依据量子力学的量子比特的基本定律,利用计算机的高速计算能力,刻画量子态的时空演化。
对线性***组的求解是许多科学与工程问题的核心,求解此类问题的经典算法统称为线性***算法。基于完全正交化子空间方法和广义极小残量方法是两种常用的针对线性问题的经典子空间类求解方法,虽然完全正交化子空间方法收敛速度较快,但是其稳定性较差;而广义极小残量方法虽然稳定性较好,但是收敛速度较慢,在求解线性***问题时,不管使用何种子空间方法,随着输入矩阵维度的增大,求解线性***问题的时间复杂度会随之提高,导致其求解过程可能需要调用兆字节甚至千兆字节的数据量,对计算资源的需求过高,这是一个亟待解决的问题。
发明内容
本发明的目的是提供一种基于混合子空间的线性***求解方法、装置、介质及设备,利用混合子空间的综合求解性能,以解决现有技术中的不足,它能够降低解线性问题求解的时间复杂度和计算量。
本申请的一个实施例提供了一种基于混合子空间的线性***求解方法,所述方法包括:
确定待求解线性***并对所述待求解线性***进行预处理;
分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路;
利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解。
可选的,所述确定待求解线性***并对所述待求解线性***进行预处理,包括:
获取待求解线性***Ax=b,其中,所述A为第一矩阵,所述b为第一向量;
根据所述第一矩阵A,确定用于线性***预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A-1的稀疏近似且满足预设稀疏结构;
根据所述稀疏近似矩阵M,分别获取线性***预处理后的第二矩阵A′、第二向量b′及初始残差b0,其中,所述第二矩阵A′=MA,所述第二向量b′=Mb,所述初始残差根据初始近似解x0计算,满足b0=b′-A′x0
可选的,所述分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路,包括:
基于完全正交化子空间方法,构建m阶Krylov子空间Km和求解所述线性***的HHL算法对应的第一量子线路;以及
基于广义极小残量方法,构建m阶Krylov子空间K′m和求解所述线性***的HHL算法对应的第二量子线路。
可选的,所述利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解,包括:
判断当前残差的范数是否大于第一阈值,其中,所述当前残差根据当前近似解确定;
若是,则根据所述子空间Km、第一量子线路,并利用完全正交化子空间方法计算所述线性***在所述子空间Km内的第一近似解xm,否则,根据所述子空间K′m、第二量子线路,并利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m
根据所述第一近似解xm或所述第二近似解x′m,更新当前近似解,继续执行所述判断当前残差的范数是否大于第一阈值的步骤,直至获取满足精度的解,作为所述待求解线性***的目标解。
可选的,所述根据所述子空间Km、第一量子线路,并利用完全正交化子空间方法计算所述线性***在所述子空间Km内的第一近似解xm,包括:
构造对应第二矩阵A′和当前残差的所述子空间Km的标准正交基组Vm和Hessenberg矩阵Hm
利用所述第一量子线路处理所述Hessenberg矩阵Hm和第一残差向量βm的值,得到所述线性***在子空间Km内的中间值ym,其中,所述βm=[||b0||2,0,0,…,0]T,Hm、ym和βm满足线性关系:Hmym=βm
根据所述中间值ym,获取所述线性***在子空间Km内的第一近似解xm,其中,所述xm=x0+Vmym
可选的,所述利用所述第一量子线路,输入所述Hessenberg矩阵Hm和第一残差向量βm的值,输出所述线性***在子空间Km内的中间值ym之后,所述方法还包括:
判断所述中间值ym能否满足||Hmymm||2<∈1,其中,∈1为预设第一精度;
若所述中间值ym不满足||Hmymm||2<∈1,则获取更新后的第一残差向量并返回执行所述利用所述第一量子线路,输入所述Hessenberg矩阵Hm和第一残差向量βm的值,输出所述线性***在子空间Km内的中间值ym的步骤,其中,所述更新后的第一残差向量βnew=βm-Hmym
可选的,所述方法还包括:
若所述中间值ym满足||Hmymm||2<∈1,则判断所述第一近似解xm能否满足||A′xm-b′||2<∈2,其中,∈2为预设第二精度;
若所述第一近似解xm满足||A′xm-b′||2<∈2,则确定所述第一近似解xm即为所述线性***Ax=b在子空间Km内的目标解。
可选的,所述方法还包括:
若所述第一近似解xm不满足||A′xm-b′||2<∈2,则更新预设初始解x0为当前第一近似解xm,并获取更新后的当前残差b′-A′xm,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第二精度的目标解为止。
可选的,所述根据所述子空间K′m、第二量子线路,并利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m,包括:
利用预设规则,对当前残差进行优化;
构造对应第二矩阵A′和优化后的当前残差的所述子空间K′m的标准正交基组V′m和Hessenberg矩阵Hm+1,m
对所述Hessenberg矩阵Hm+1,m进行QR分解;
利用所述第二量子线路对QR分解结果处理,得到所述线性***在子空间K′m内的中间值
根据所述中间值获取所述线性***在所述子空间K′m内的第二近似解x′m,其中,所述/>
可选的,所述对所述Hessenberg矩阵Hm+1,m进行QR分解,包括:
将所述Hessenberg矩阵Hm+1,m分解成其中,Qm+1为正交矩阵,Rm+1,m为上三角矩阵。
可选的,所述利用所述第二量子线路对QR分解结果处理,得到所述线性***在子空间K′m内的中间值包括:
利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值其中,所述Rm为上三角矩阵Rm+1,m的前m行,α=||b0||2q1(1:m),q1(1:m)表示正交矩阵Qm+1第一列的前m个元素组成的向量,α与Rm、/>满足关系:/>
可选的,所述利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值之后,所述方法还包括:
判断所述中间值能否满足/>其中,∈3为预设第三精度;
若所述中间值不满足/>则获取更新后的第二残差向量αnew并返回执行所述利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值/>的步骤,其中,所述更新后的第二残差向量
可选的,所述方法还包括:
若所述中间值满足/>则判断所述第二近似解x′m能否满足||A′x′m-b′||2<∈4,其中,∈4为预设第四精度;
若所述第二近似解x′m满足||A′x′m-b′||2<∈4,则确定所述第二近似解x′m即为所述线性***Ax=b在子空间K′m内的目标解。
可选的,所述方法还包括:
若所述第二近似解x′m不满足||A′x′m-b′||2<∈4,则更新预设初始解x0为当前第二近似解x′m,并获取更新后的当前残差b′-A′x′m,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第四精度的目标解为止。
可选的,构建所述用于求解所述线性***的量子线路,包括:
获得包括辅助量子比特、第一量子比特、第二量子比特的若干量子比特,其中,所述辅助量子比特和所述第一量子比特的初态置为|0>,所述第二量子比特的初态置为所述bi为所述第一向量b的第i个元素,所述N为第一向量的维数;
确定所述第一矩阵A对应的酉矩阵U;
构建用以相位估计的第一子量子线路模块,用于将所述|b〉在第一矩阵A的特征空间上分解为并将所述第一量子比特和所述第二量子比特的初态|0〉|b〉转化为/>其中,所述|μj〉为所述第一矩阵A的特征向量,所述λj为所述第一矩阵A的特征值,所述βj为所述第一矩阵A特征向量的振幅;
构建用以执行受控旋转操作的第二子量子线路模块,用于将|λj>作为控制比特对辅助量子比特进行旋转,得到其中,所述C为归一化常数;
构建用以执行逆相位估计的第三子量子线路模块,用于将|λj>复位至|0>;
构建用于所述辅助量子比特的测量操作模块,以使测量到所述辅助量子比特的量子态为|1>时,得到:所述|x′>∝|x>;
将所述第一子量子线路模块、所述第二子量子线路模块、所述第三子量子线路模块和所述量子测量操作模块,依次组成用于求解所述线性***的量子线路。
本申请的又一实施例提供了一种基于混合子空间的线性***求解装置,所述装置包括:
确定模块,用于确定待求解线性***并对所述待求解线性***进行预处理;
构建模块,用于分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路;
计算模块,用于利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解。
可选的,所述确定模块,包括:
第一获取单元,用于获取待求解线性***Ax=b,其中,所述A为第一矩阵,所述b为第一向量;
第一确定单元,用于根据所述第一矩阵A,确定用于线性***预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A-1的稀疏近似且满足预设稀疏结构;
第二获取单元,用于根据所述稀疏近似矩阵M,分别获取线性***预处理后的第二矩阵A′、第二向量b′及初始残差b0,其中,所述第二矩阵A′=MA,所述第二向量b′=Mb,所述初始残差根据初始近似解x0计算,满足b0=b′-A′x0
可选的,所述构建模块,包括:
第一构建单元,用于基于完全正交化子空间方法,构建m阶Krylov子空间Km和求解所述线性***的HHL算法对应的第一量子线路;以及
基于广义极小残量方法,构建m阶Krylov子空间K′m和求解所述线性***的HHL算法对应的第二量子线路。
可选的,所述计算模块,包括:
第一判断单元,用于判断当前残差的范数是否大于第一阈值,其中,所述当前残差根据当前近似解确定;
第一计算单元,用于若是,则根据所述子空间Km、第一量子线路,并利用完全正交化子空间方法计算所述线性***在所述子空间Km内的第一近似解xm,否则,根据所述子空间K′m、第二量子线路,并利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m
第一更新单元,用于根据所述第一近似解xm或所述第二近似解x′m,更新当前近似解,继续执行所述判断当前残差的范数是否大于第一阈值的步骤,直至获取满足精度的解,作为所述待求解线性***的目标解。
可选的,所述第一计算单元,包括:
第一构造子单元,用于构造对应第二矩阵A′和当前残差的所述子空间Km的标准正交基组Vm和Hessenberg矩阵Hm
第一得到子单元,用于利用所述第一量子线路处理所述Hessenberg矩阵Hm和第一残差向量βm的值,得到所述线性***在子空间Km内的中间值ym,其中,所述βm=[||b0||2,0,0,…,0]T,Hm、ym和βm满足线性关系:Hmym=βm
第一获取子单元,用于根据所述中间值ym,获取所述线性***在子空间Km内的第一近似解xm,其中,所述xm=x0+Vmym
可选的,所述第一计算单元,还包括:
第一判断子单元,用于判断所述中间值ym能否满足||Hmymm||2<∈1,其中,∈1为预设第一精度;
第一输出子单元,用于若所述中间值ym不满足||Hmymm||2<∈1,则获取更新后的第一残差向量并返回执行所述利用所述第一量子线路,输入所述Hessenberg矩阵Hm和第一残差向量βm的值,输出所述线性***在子空间Km内的中间值ym的步骤,其中,所述更新后的第一残差向量βnew=βm-Hmym
可选的,所述第一计算单元,还包括:
第二判断子单元,用于若所述中间值ym满足||Hmymm||2<∈1,则判断所述第一近似解xm能否满足||A′xm-b′||2<∈2,其中,∈2为预设第二精度;
第一确定子单元,用于若所述第一近似解xm满足||A′xm-b′||2<∈2,则确定所述第一近似解xm即为所述线性***Ax=b在子空间Km内的目标解。
可选的,所述第一计算单元,还包括:
第一更新子单元,用于若所述第一近似解xm不满足||A′xm-b′||2<∈2,则更新预设初始解x0为当前第一近似解xm,并获取更新后的当前残差b′-A′xm,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第二精度的目标解为止。
可选的,所述第一计算单元,包括:
优化子单元,用于利用预设规则,对当前残差进行优化;
第二构造子单元,用于构造对应第二矩阵A′和优化后的当前残差的所述子空间K′m的标准正交基组V′m和Hessenberg矩阵Hm+1,m
分解子单元,用于对所述Hessenberg矩阵Hm+1,m进行QR分解;
第二得到子单元,用于利用所述第二量子线路对QR分解结果处理,得到所述线性***在子空间K′m内的中间值
第二获取子单元,用于根据所述中间值获取所述线性***在所述子空间K′m内的第二近似解x′m,其中,所述/>
可选的,所述分解子单元,包括:
第一分解子单元,用于将所述Hessenberg矩阵Hm+1,m分解成 其中,Qm+1为正交矩阵,Rm+1,m为上三角矩阵。
可选的,所述第二得到子单元,包括:
输入输出子单元,用于利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值其中,所述Rm为上三角矩阵Rm+1,m的前m行,α=||b0||2q1(1:m),q1(1:m)表示正交矩阵Qm+1第一列的前m个元素组成的向量,α与Rm、/>满足关系:/>
可选的,所述输入输出子单元之后,所述装置还包括:
第三判断子单元,用于判断所述中间值能否满足/>其中,∈3为预设第三精度;
第二更新子单元,用于若所述中间值不满足/>则获取更新后的第二残差向量αnew并返回执行所述利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值/>的步骤,其中,所述更新后的第二残差向量/>
可选的,所述装置还包括:
第四判断子单元,用于若所述中间值满足/>则判断所述第二近似解x′m能否满足||A′x′m-b′||2<∈4,其中,∈4为预设第四精度;
第二确定子单元,用于若所述第二近似解x′m满足||A′x′m-b′||2<∈4,则确定所述第二近似解x′m即为所述线性***Ax=b在子空间K′m内的目标解。
可选的,所述装置还包括:
第三更新子单元,用于若所述第二近似解x′m不满足||A′x′m-b′||2<∈4,则更新预设初始解x0为当前第二近似解x′m,并获取更新后的当前残差b′-A′x′m,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第四精度的目标解为止。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本申请的又一实施例提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
与现有技术相比,本发明首先确定待求解线性***并对待求解线性***进行预处理,其次分别构建求解线性***的混合子空间和用于求解线性***的量子线路,利用混合子空间和量子线路,计算预处理后的待求解线性***的目标解,利用混合子空间的综合求解性能,以解决现有技术中的不足,它能够降低解线性问题求解的时间复杂度和计算量,加快量子线性算法的求解速度。
附图说明
图1为本发明实施例提供的一种基于混合子空间的线性***求解方法的计算机终端的硬件结构框图;
图2为本发明实施例提供的一种基于混合子空间的线性***求解方法的流程示意图;
图3为本发明实施例提供的相位估计对应的第一子量子线路模块示意图;
图4为本发明实施例提供的HHL算法对应的量子线路示意图;
图5为本发明实施例提供的一种基于混合子空间的线性***求解装置的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种基于混合子空间的线性***求解方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图1为本发明实施例提供的一种基于混合子空间的线性***求解方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的基于混合子空间的线性***求解方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而***作。
一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,阿达马门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
量子态,即量子比特的逻辑状态,在量子算法(或称量子程序)中用二进制表示,例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,从高位到低位排序为q2q1q0,该组量子比特对应的量子态是该组量子比特对应的本征态的叠加,该组量子比特对应的本征态共有2的量子比特总数次方个,即8个本征态(确定的状态):|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个本征态的位与量子比特对应一致,如|000>态,000从高位到低位对应q2q1q0,|>为狄拉克符号。
以单个量子比特说明,单个量子比特的逻辑状态可能处于|0>态、|1>态、|0>态和|1>态的叠加态(不确定状态),具体可以表示为/>其中,c和d为表示量子态振幅(概率幅)的复数,振幅模的平方|c|2和|d|2分别表示|0>态、|1>态的概率,|c|2+|d|2=1。简言之,量子态是各本征态组成的叠加态,当其它本征态的概率为0时,即处于唯一确定的本征态。
参见图2,图2为本发明实施例提供的一种基于混合子空间的线性***求解方法的流程示意图,可以包括如下步骤:
S201:确定待求解线性***并对所述待求解线性***进行预处理。
具体的,确定待求解线性***并对待求解线性***进行预处理,可以包括:
步骤1:获取待求解线性***Ax=b,其中,所述A为第一矩阵,所述b为第一向量。
在应用数学和科学工程计算领域,许多问题的数学模型都可以用线性***组来描述。例如目标电磁特性仿真计算问题经由矩量法、有限元等数值算法离散化电磁场微积分方程即转化为了对矩阵方程的求解,又如流体力学中的NS方程求解、量子色动力学(QCD)中的格点规范理论等。
线性***是一种数学模型,是指用线性算子组成的***,且同时满足叠加性与均匀性(又称为齐次性)的***,目前,线性***是很多科学和工程领域的核心。对于待求解线性***Ax=b,分别获取第一矩阵A、第一向量b的元素信息及维数,其中第一矩阵A,可以为系数矩阵,系数矩阵是矩阵中的众多类型之一,简单来说系数矩阵就是将方程组的系数组成矩阵来计算方程的解,系数矩阵常常用来表示一些项目的数学关系。
步骤2:根据所述第一矩阵A,确定用于线性***预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A-1的稀疏近似且满足预设稀疏结构。
具体的,设N={1,2,3,...,n},表示预设的稀疏结构,稀疏近似逆预处理技术旨在显式地构造A-1的稀疏近似,用于降低矩阵的条件数,降低求解难度和复杂度,其最基本的前提是给定第一矩阵A,存在A-1在某种意义下的稀疏近似矩阵M,使得M≈A-1,如何快速捕捉A-1元素的位置信息确定M稀疏结构是该算法成功的关键。
需要说明的是,F-范数最小化的稀疏近似逆预处理技术通过最小化残量矩阵||AM-I||F来计算A-1的稀疏近似M,其中M满足某确定的稀疏结构(M要么预先给定,要么在算法执行过程中动态确定)。由矩阵F-范数的特点,最小化||AM-I||F可以转化为独立求解n个最小二乘问题,因此有天然的并行特性。但是对于一般的第一矩阵A,往往很难预先确定M的合理有效的稀疏结构,当A-1的大元素较少时,先验的结构可能并不能有效捕捉其位置信息,或者只有当先验结构非常稠密时,以计算和存储为代价才能得到与A-1近似程度较高的M。为了克服上述困难,可提出动态的确定M的稀疏结构的策略,该策略往往从一个简单的初始结构(如单位矩阵的结构或者稀疏化的第一矩阵A的结构等)开始,然后根据某种规则逐步扩充或自适应地调整,直到残量矩阵关于某种范数满足给定精度||AM-I||F≤ε,其中,ε代表预设的精度值,或者M的非零元个数达到预先给定的最大值。
步骤3:根据所述稀疏近似矩阵M,分别获取线性***预处理后的第二矩阵A′、第二向量b′及初始残差b0,其中,所述第二矩阵A′=MA,所述第二向量b′=Mb,所述初始残差根据初始近似解x0计算,满足b0=b′-A′x0
具体的,残差在数理统计中是指实际值与估计值(拟合值)之间的差,残差蕴含了有关***模型基本假设的重要信息。
具体的,根据稀疏近似矩阵M,分别获取线性***中条件数降低的第二矩阵A′和第二向量b′及初始残差b0,其中,所述第二矩阵A′=MA,所述第二向量b′=Mb,所述初始残差b0根据初始近似解x0计算,满足b0=b′-A′x0
S202:分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路。
具体的,构建求解线性***的混合子空间和用于求解线性***的量子线路,可以包括:
基于完全正交化子空间方法,构建m阶Krylov子空间Km和求解所述线性***的HHL算法对应的第一量子线路;以及
基于广义极小残量方法,构建m阶Krylov子空间K′m和求解所述线性***的HHL算法对应的第二量子线路。
具体的,完全正交化子空间(FOM)和广义极小残量(GMRES)算法是两个非常重要的Krylov子空间类方法,其中,构建用于求解线性***的量子线路,可以包括:
1.获得包括辅助量子比特、第一量子比特、第二量子比特的若干量子比特,其中,所述辅助量子比特和所述第一量子比特的初态置为|0>,所述第二量子比特的初态置为所述bi为所述第一向量b的第i个元素,所述N为第一向量的维数。
具体的,获取若干个量子比特的比特数量可由用户根据需求确定,也可以在计算资源充足的情况下,设置较充足数量的量子比特,满足计算需求。
获得包括辅助量子比特、第一量子比特、第二量子比特的若干量子比特,具体可以用量子比特位表示。例如,初始量子比特位上为|0>,表示该位量子比特的量子态为|0>态,为|1>则表示初始量子态为|1>态。
需要说明的是,为方便后续区分,获得的若干量子比特可以区分为辅助量子比特、第一量子比特、第二量子比特,具体区分名称在此不做限定,并且,各量子比特的初态可由现有的振幅编码方式或量子态编码方式制备得到。其中,辅助量子比特和第一量子比特的初态置为|0>态,第二量子比特的初态置为例如,对于4维第一向量b=[b1,b2,b3,b4],即N=4,将第一向量b的数据编码到量子态振幅上,得到:/>
实现将第一向量b的数据加载到量子线路中2个第二量子比特的量子态振幅上。
2.确定所述第一矩阵A对应的酉矩阵U。
具体的,若第一矩阵A为酉矩阵,则将第一矩阵A直接确定为对应的酉矩阵U;
若第一矩阵A为Hermite矩阵,可以通过哈密顿量模拟实现Hermite矩阵到酉矩阵的转换,得到对应的酉矩阵U=eiAt;其中,t为常量,一般取值2π;
若第一矩阵A为非Hermite矩阵,通过扩充维数将其转换,确定对应厄米矩阵以确定对应的酉矩阵/>同时将第一向量b转换为/>也可写成/>得/>xm即为上述目标解。
3.构建用以相位估计的第一子量子线路模块,用于将所述|b〉在第一矩阵A的特征空间上分解为并将所述第一量子比特和所述第二量子比特的初态|0〉|b〉转化为/>其中,所述|μj>为所述第一矩阵A的特征向量,所述λj为所述第一矩阵A的特征值,所述βj为所述第一矩阵A特征向量的振幅。
具体的,构建用以相位估计的第一子量子线路模块,用于将所述|b>在第一矩阵A的特征空间上分解为并将第一量子比特和第二量子比特的初态|0>|b>转化为/>本领域技术人员可以理解的是,相位估计(Phase estimation)是量子傅里叶变换QFT的一个重要应用,体现在它是很多量子算法的基础。
如图3所示为本实施例提供的相位估计对应的第一子量子线路模块示意图,包括:H门操作模块、受控U算子操作模块和量子傅里叶逆变换模块(图中模块),其中,该U算子即为第一矩阵A对应的酉矩阵U。经过第一子量子线路模块,辅助量子比特(对应图3最上的时间线)的量子态不变、第一量子比特(对应图3中间的时间线)的初态|0〉转化为|λj>、第二量子比特(对应图3最下的时间线)的初态|b>分解/>
实际上,输出的λj是估计值,可以通过增加第一量子比特的数量,提高相位估计的输出精度。并且,在实际应用中,可以设置辅助量子寄存器、第一量子寄存器、第二量子寄存器,分别存储辅助量子比特、第一量子比特、第二量子比特的量子态。
4.构建用以执行受控旋转操作的第二子量子线路模块,用于将|λj>作为控制比特对辅助量子比特进行旋转,得到其中,所述C为归一化常数。
具体的,构建用以执行受控旋转操作的第二子量子线路模块,用于将|λj>作为控制比特对辅助量子比特进行旋转,得到 受控旋转又可称“提取占比”,因为经过相位估计运算之后,第一量子寄存器会存储一系列的特征值λj(具体存储在基态|λj>中),而第二量子寄存器存储的输入态即初态|b>会在第一矩阵A的特征空间上进行分解,然后通过受控旋转操作,将基态中的λj值提取到了振幅上,将辅助量子比特的量子态|0>转化为得到/>各量子比特的量子态经过第二子量子线路由/>转化为/>为了减少资源占用,辅助量子比特可设1位,且C为常数,一般取1。
需要说明是的,可以在第二个量子寄存器中得到量子态|x>=A-1|b>(更准确地说,是接近的|x>量子态),伴随着一个常数因子C。后面可以采用振幅放大的手段来提高成功概率,取代简单测量并筛选结果的过程。
5.构建用以执行逆相位估计的第三子量子线路模块,用于将|λj>复位至|0>。
具体的,本领域技术人员可以理解的是,相位估计逆运算是上述相位估计的还原过程,或称相位估计的转置共轭运算,目的是将|λj>复位至|0>,具体以将量子态转化为如下为准:
6.构建用于所述辅助量子比特的测量操作模块,以使测量到所述辅助量子比特的量子态为|1〉时,得到:所述|x′>∝|x>。
具体的,量子测量操作施加在辅助量子比特上,以在相位估计逆运算后,对辅助量子比特进行测量。测量后,辅助量子比特的状态会塌缩至一个确定的状态,其中,塌缩至|0>的概率是塌缩至|1>的概率是/>当测量辅助量子比特的量子态为|1>、且C=1时,即可得到确定的量子态:/> 可见是/>进行振幅归一化的对应结果。在实际应用中,可以根据用户所需的应用场景,对应得到|x>,或者直接将|x′>用于后续的场景计算。
7.将所述第一子量子线路模块、所述第二子量子线路模块、所述第三子量子线路模块和所述量子测量操作模块,依次组成用于求解所述线性***的量子线路。
具体的,参见图4,图4为根据第一子量子线路模块、所述第二子量子线路模块、所述第三子量子线路模块和所述量子测量操作模块的执行时序,依次组成一条完整的量子线路,即为本申请用于求解线性***的HHL算法对应的量子线路。
需要说明的是,第一量子线路和第二量子线路均可以由上述构建量子线路的方式分别进行构建。
S203:利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解。
具体的,利用混合子空间和量子线路,计算预处理后的待求解线性***的目标解,可以包括:
判断当前残差的范数是否大于第一阈值,其中,所述当前残差根据当前近似解确定。
具体的,判断||b0-bk||2的值是否大于第一阈值P1,其中,当前残差根据当前近似解xk确定,第一阈值P1可以由用户根据精度需求进行预设,示例性的,P1可以预设为10-3
若是,则根据所述子空间Km、第一量子线路,并利用完全正交化子空间方法计算所述线性***在所述子空间Km内的第一近似解xm,否则,根据所述子空间K′m、第二量子线路,并利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m
其中,若||b0-bk||2>P1,则根据子空间Km、第一量子线路,并利用完全正交化子空间方法计算所述线性***在子空间Km内的第一近似解xm,可以包括:
首先,构造对应第二矩阵A′和当前残差的所述子空间Km的标准正交基组Vm和Hessenberg矩阵Hm
具体的,根据Arnoldi算法、第二矩阵A′和当前残差,构造所述子空间Km的标准正交基组Vm和Hessenberg矩阵Hm
FOM方法是一种针对线性问题的经典子空间类求解方法,对于待求解线性***Ax=b,定义:Km=span{b0,Ab0,A2b0,…,Am-1b0}为第一矩阵A和初始残差b0的m阶Krylov子空间。由定义可知Krylov子空间是嵌套的,即有K1∈K2∈…∈Km,显然子空间的正交基组{V1,V2,…,Vm}也是嵌套的。FOM的核心思想是将待求解线性***的精确求解转化为寻找某个子空间内的“最优解”,当解xm被约束在子空间Km内时,显然xm可以由Km的基Vm线性表示。根据上述的嵌套性质,则有Axm∈Km+1,当xm在Km中变化时,Axm在更高一阶的子空间Km+1内相应地变化。由于bm=b0-Axm,因此bm的大小和方向同样发生变化,为了使得“最优解”逼近精确解,要求bm的模尽可能地小,因此完全正交法的数学形式可描述为:寻找xm∈Km,使得bm⊥Axm
利用基于Gram-Schmidt正交化的Arnoldi算法求解出m阶Krylov子空间Km的标准正交基组Vm,对于子空间Km内的近似解xm,可以由Km的正交基组Vm线性表示,有:
xm=x0+Vmym
正交性条件b-Axm⊥Km,得:
因此,完全正交法中确定xm所直接求解的方程为:
其中,正交基组Vm具有如下性质:
其中,hm+1,m=(wm,vm+1),wm=Aνm,em=[0,0,0,…,1]T,Hm为执行Arnoldi算法过程中由元素构成的矩阵,其记录了原始空间到子空间的投影信息,其矩阵形式如下:
结合上述正交基组的性质,FOM中最终求解的待求解线性***为:
βm-Hmym=0
其中,所述βm=[||b0||2,0,0,…,0]T,当解出后,待处理线性***Ax=b在子空间Km内的近似解便可以求得。可见,利用FOM求解线性问题最大的特点是具有“降维”效果,如果第一矩阵的维度为n,满足精度需求解的子空间维度为m,一般来说m往往显著小于n。
其次,利用所述第一量子线路处理所述Hessenberg矩阵Hm和第一残差向量βm的值,得到所述线性***在子空间Km内的中间值ym,其中,所述βm=[||b0||2,0,0,…,0]T,Hm、ym和βm满足线性关系:Hmym=βm
具体的,利用第一量子线路,输入Hessenberg矩阵Hm和第一残差向量βm的值,输出线性***在子空间Km内的中间值ym
其中,利用上述构建的HHL算法对应的第一量子线路,输入所述Hessenberg矩阵Hm和第一残差向量βm的值,即可通过测量等操作输出待求解线性***在Krylov子空间Km内的中间值ym
最后,根据所述中间值ym,获取所述线性***在子空间Km内的第一近似解xm,其中,所述xm=x0+Vmym
需要说明的是,利用所述第一量子线路,输入所述Hessenberg矩阵Hm和第一残差向量βm的值,输出所述线性***在子空间Km内的中间值ym之后,所述方法还包括:
判断所述中间值ym能否满足||Hmymm||2<∈1,其中,∈1为预设第一精度。
具体的,判断||Hmymm||2的值能否满足第一预设精度,其主要目的在于判断利用上述HHL算法所计算的中间值ym是否符合用户预设∈1精度要求,便于进一步处理。
若所述中间值ym不满足||Hmymm||2<∈1,则获取更新后的第一残差向量并返回执行所述利用所述第一量子线路,输入所述Hessenberg矩阵Hm和第一残差向量βm的值,输出所述线性***在子空间Km内的中间值ym的步骤,其中,所述更新后的第一残差向量βnew=βm-Hmym
若所述中间值ym满足||Hmymm||2<∈1,则判断所述第一近似解xm能否满足||A′xm-b′||2<∈2,其中,∈2为预设第二精度。
具体的,判断||A′xm-b′||2的值能否满足第二预设精度,其主要目的在于检查利用FOM降维计算后,所求得的近似解损失的精度是不是足够小,能否满足用户预设的精度需求。
若所述第一近似解xm满足||A′xm-b′||2<∈2,则确定所述第一近似解xm即为所述线性***Ax=b在子空间Km内的目标解。
若所述第一近似解xm不满足||A′xm-b′||2<∈2,则更新预设初始解x0为当前第一近似解xm,并获取更新后的当前残差b′-A′xm,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第二精度的目标解为止。
具体的,当第一近似解xm不满足预设第二精度时,则更新预设初始解x0为当前第一近似解xm,即x0=xm,获取更新后的当前残差b′-A′xm,作为下一步迭代的输入向量,返回执行判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第二精度的目标解为止。
因此,基于完全正交化子空间方法和HHL算法对应的第一量子线路待求解线性***的计算,其主要步骤可以概括如下:
待求解线性***Ax=b构造稀疏近似逆M,有MAx=Mb,进而获取降维后的线性***A′x=b′,其中,A′为第二矩阵并给出一个初始近似解x0,定义初始残差b0=b′-A′x0,随后利用初始残差与第二矩阵,构造Krylov子空间Km,进一步得到正交基组Vm和Hessenberg矩阵Hm、第一残差向量βm,并通过下式得到子空间的中间值ym
Hmym=βm (1)
进一步利用下式得到原待求解线性***的近似解xm
xm=x0+Vmym (2)
以上步骤即为是单次求解待求解线性***的近似解的方法和原理。
对于利用第一量子线路,输入Hessenberg矩阵Hm、第一残差向量βm的值,输出线性***在子空间Km内的中间值ym之后,若判断中间值ym满足||Hmymm||2>∈1,其中,∈1为预设第一精度。此时说明上述对式(1)的求解存在不可接受的误差,此时为了便于区分引入上标,可将该不满足预设精度的解描述为有:
进而求得:
其中,第一残差向量βnew即为当前解的误差,通过构造如下方程
结合上述式(3)和式(4),有:
因此,通过反复的进行如上的迭代步骤,则:
上述近似解会不断地逼近目标解,显然,每次迭代过程求解的是上式(4),但是获取的近似解为每次迭代得到的近似解的求和。
以上阐述的是子空间Km的中间值ym的迭代逼近过程,子空间Km的中间值ym映射到原始解通过上式(2),由于上式(2)是线性的,且在每次迭代过程中x0、Vm都不变,因此最终的目标解为:
需要说明的是,上述总结的主要迭代步骤,主要解决FOM方法在低维子空间解的精度欠佳问题,利用迭代的思想将目标近似解求解出来,同样可以推广至下述利用GMRES方法求解线性***的步骤中,下文不再对此进行总结。
在另一种实施例中,若||b0-bk||2不大于P1,则根据所述子空间K′m、第二量子线路,并利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m,可以包括:
利用预设规则,对当前残差进行优化。
具体的,由于利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m,其收敛速度较慢,基于此,可以利用动态松弛预设规则对残差进行特定的优化以加速其收敛。
优选的,对于利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m,可以通过求解的值并判断/>的值所处的区间,随后根据预设的优化规则对第二近似解x′m进行优化。例如可以通过判断/>的值是否介于g和h之间,若是,则进行预设规则的第一优化;若/>的值不大于g,则进行预设规则的第二优化;若/>的值不小于h,则进行预设规则的第三优化。
示例性的,若则根据相应的预设优化规则,优化后的第二近似解若/>则根据相应的预设优化规则,优化后的第二近似解/>若/>则根据相应的预设优化规则,优化后的第二近似解/>若/>则根据相应的预设优化规则,优化后的第二近似解/>
需要说明的是,利用预设规则,对残差进行优化是GMRES方法中特有的,其功能是对残差进行特定的修改以加速近似解逼近目标解的速度从而提升GMRES方法的求解速度,其加速效果也是没有严格理论指导的,需要研发人员投入大量精力获得经验性的优化方法。
首先,构造对应第二矩阵A′和优化后的当前残差的所述子空间K′m的标准正交基组V′m和Hessenberg矩阵Hm+1,m
具体的,可以根据Arnoldi算法、第二矩阵A′和优化后的当前残差,构造子空间K′m的标准正交基组V′m和Hessenberg矩阵Hm+1,m
GMRES方法也是一种针对线性问题的经典子空间类求解方法,GMRES的核心思想是将待求解线性***的精确求解转化为寻找某个子空间内的“最优解”,当解x′m被约束在子空间K′m内时,显然x′m可以由K′m的基V′m线性表示。根据上述的嵌套性质,则有Ax′m∈K′m+1,当x′m在K′m中变化时,Ax′m在更高一阶的子空间K′m+1内相应地变化。由于bm=b0-Ax′m,因此bm的大小和方向同样发生变化,为了使得“最优解”逼近精确解,要求bm的模尽可能地小,因此,广义极小残量法的数学形式可描述为:寻找x′m∈K′m,使得bm⊥AK′m,可见GMRES方法中,解空间为K′m,解的约束空间为AK′m
利用基于Gram-Schmidt正交化的Arnoldi算法求解出m阶Krylov子空间K′m的标准正交基组V′m,对于子空间K′m内的第二近似解x′m,可以由K′m的正交基组V′m线性表示,有:
正交性条件b0-Ax′m⊥AK′m,得:
其中,正交基组V′m具有如下性质:
其中,hm+1,m=(wm,νm+1),wm=Avm,em=[0,0,0,…,1]T,Hm+1,m为执行Arnoldi算法过程中由元素构成的矩阵,其记录了原始空间到子空间的投影信息,结合上述正交基组的性质,GMRES(Generalized Minimum Residual,广义极小残量法)直接从bm模长最小这一条件入手,其最优准则可描述为寻找x′m∈K′m,求解min||b0-Ax′m||2
其次,对所述Hessenberg矩阵Hm+1,m进行QR分解。
QR分解法是目前求一般矩阵全部特征值的最有效并广泛应用的方法,一般矩阵先经过正交相似变化成为Hessenberg矩阵,然后再应用QR方法求特征值和特征向量。它是将矩阵分解成一个正交矩阵Q与上三角形矩阵R,所以称为QR分解法,与此正交矩阵的通用符号Q有关。
可以将所述Hessenberg矩阵Hm+1,m分解成其中,Qm+1为正交矩阵,Rm+1,m为上三角矩阵。
基于上文描述,确由于V′m+1的列向量是标准正交的,故:
因此,在GMRES方法中,问题被转化成了一个最小二乘问题。当m不是很大时,使用QR分解来求解上述最小二乘问题。由:的Hm+1,m的QR分解,其中,Qm+1为正交矩阵,Rm+1,m为上三角矩阵,于是有:
其中,Rm为Rm+1,m的前m行,因此可以通过求解如下上三角方程组获得:
其中,α=||b0||2q1(1:m),q1(1:m)表示正交矩阵Qm+1第一列的前m个元素组成的向量,q1是Qm+1的第一列。
GMRES中最终求解的待处理线性***为:
待求解线性***Ax=b在子空间K′m内的近似解便可以求得。可见,利用GMRES求解线性问题最大的特点是具有“降维”效果,如果第一矩阵的维度为n,满足精度需求解的子空间维度为m,一般来说m往往显著小于n。
再次,利用所述第二量子线路对QR分解结果处理,得到所述线性***在子空间K′m内的中间值
具体的,利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值其中,所述Rm为上三角矩阵Rm+1,m的前m行,α=||b0||2q1(1:m),q1(1:m)表示正交矩阵Qm+1第一列的前m个元素组成的向量,α与Rm、/>满足关系:
最后,根据所述中间值获取所述线性***在所述子空间K′m内的第二近似解x′m,其中,所述/>
需要说明的是,利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值之后,所述方法还包括:/>
判断所述中间值能否满足/>其中,∈3为预设第三精度。
具体的,判断的值能否满足预设第三精度,其主要目的在于判断利用上述HHL算法所计算的中间值/>是否符合用户预设精度要求,便于进一步处理。
若所述中间值不满足/>则获取更新后的第二残差向量αnew并返回执行所述利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值/>的步骤,其中,所述更新后的第二残差向量
若所述中间值满足/>则判断所述第二近似解x′m能否满足||A′x′m-b′||2<∈4,其中,∈4为预设第四精度。
具体的,判断||A′xm-b′||2的值能否满足预设第四精度,其主要目的在于检查利用GMRES降维计算后,所求得的第二近似解损失的精度是不是足够小,能否满足用户预设的精度需求。
若所述第二近似解x′m满足||A′x′m-b′||2<∈4,则确定所述第二近似解x′m即为所述线性***Ax=b在子空间K′m内的目标解。
若所述第二近似解x′m不满足||A′x′m-b′||2<∈4,则更新预设初始解x0为当前第二近似解x′m,并获取更新后的当前残差b′-A′x′m,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第四精度的目标解为止。
具体的,当第二近似解x′m不满足预设第四精度时,更新预设初始解x0为当前第二近似解x′m,即x0=x′m并获取更新后的当前残差b′-A′x′m,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第四精度的目标近似解为止。
本实施例将线性***求解方法中的FOM方法和GMRES方法结合,基于两种方法的优缺点互补这一特性,给出了一种同时结合FOM和GMRES方法优点的混合子空间算法,该算法可以显著的弥补单个FOM方法和GMRES方法的缺点,从而使得算法本身的综合性能更高,并且基于混合子空间的算法不仅降低了待求解线性***的维度、条件数、增大了稀疏性,还能更好的激发HHL算法的加速性能,从而使得在普通PC端基于HHL算法求解大规模线性问题得以实现。
可见,本发明首先确定待求解线性***并对待求解线性***进行预处理,其次分别构建求解线性***的混合子空间和用于求解线性***的量子线路,利用混合子空间和量子线路,计算预处理后的待求解线性***的目标解,利用混合子空间的综合求解性能,以解决现有技术中的不足,它能够降低解线性问题求解的时间复杂度和计算量,加快量子线性算法的求解速度。
参见图5,图5为本发明实施例提供的一种基于混合子空间的线性***求解装置的结构示意图,与图2所示的流程相对应,可以包括:
确定模块501,用于确定待求解线性***并对所述待求解线性***进行预处理;
构建模块502,用于分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路;
计算模块503,用于利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解。
具体的,所述确定模块,包括:
第一获取单元,用于获取待求解线性***Ax=b,其中,所述A为第一矩阵,所述b为第一向量;
第一确定单元,用于根据所述第一矩阵A,确定用于线性***预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A-1的稀疏近似且满足预设稀疏结构;
第二获取单元,用于根据所述稀疏近似矩阵M,分别获取线性***预处理后的第二矩阵A′、第二向量b′及初始残差b0,其中,所述第二矩阵A′=MA,所述第二向量b′=Mb,所述初始残差根据初始近似解x0计算,满足b0=b′-A′x0
具体的,所述构建模块,包括:
第一构建单元,用于基于完全正交化子空间方法,构建m阶Krylov子空间Km和求解所述线性***的HHL算法对应的第一量子线路;以及
基于广义极小残量方法,构建m阶Krylov子空间K′m和求解所述线性***的HHL算法对应的第二量子线路。
具体的,所述计算模块,包括:
第一判断单元,用于判断当前残差的范数是否大于第一阈值,其中,所述当前残差根据当前近似解确定;
第一计算单元,用于若是,则根据所述子空间Km、第一量子线路,并利用完全正交化子空间方法计算所述线性***在所述子空间Km内的第一近似解xm,否则,根据所述子空间K′m、第二量子线路,并利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m
第一更新单元,用于根据所述第一近似解xm或所述第二近似解x′m,更新当前近似解,继续执行所述判断当前残差的范数是否大于第一阈值的步骤,直至获取满足精度的解,作为所述待求解线性***的目标解。
具体的,所述第一计算单元,包括:
第一构造子单元,用于构造对应第二矩阵A′和当前残差的所述子空间Km的标准正交基组Vm和Hessenberg矩阵Hm
第一得到子单元,用于利用所述第一量子线路处理所述Hessenberg矩阵Hm和第一残差向量βm的值,得到所述线性***在子空间Km内的中间值ym,其中,所述βm=[||b0||2,0,0,…,0]T,Hm、ym和βm满足线性关系:Hmym=βm
第一获取子单元,用于根据所述中间值ym,获取所述线性***在子空间Km内的第一近似解xm,其中,所述xm=x0+Vmym
具体的,所述第一计算单元,还包括:
第一判断子单元,用于判断所述中间值ym能否满足||Hmymm||2<∈1,其中,∈1为预设第一精度;
第一输出子单元,用于若所述中间值ym不满足||Hmymm||2<∈1,则获取更新后的第一残差向量并返回执行所述利用所述第一量子线路,输入所述Hessenberg矩阵Hm和第一残差向量βm的值,输出所述线性***在子空间Km内的中间值ym的步骤,其中,所述更新后的第一残差向量βnew=βm-Hmym
具体的,所述第一计算单元,还包括:
第二判断子单元,用于若所述中间值ym满足||Hmymm||2<∈1,则判断所述第一近似解xm能否满足||A′xm-b′||2<∈2,其中,∈2为预设第二精度;
第一确定子单元,用于若所述第一近似解xm满足||A′xm-b′||2<∈2,则确定所述第一近似解xm即为所述线性***Ax=b在子空间Km内的目标解。
具体的,所述第一计算单元,还包括:
第一更新子单元,用于若所述第一近似解xm不满足||A′xm-b′||2<∈2,则更新预设初始解x0为当前第一近似解xm,并获取更新后的当前残差b′-A′xm,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第二精度的目标解为止。
具体的,所述第一计算单元,包括:
优化子单元,用于利用预设规则,对当前残差进行优化;
第二构造子单元,用于构造对应第二矩阵A′和优化后的当前残差的所述子空间K′m的标准正交基组V′m和Hessenberg矩阵Hm+1,m
分解子单元,用于对所述Hessenberg矩阵Hm+1,m进行QR分解;
第二得到子单元,用于利用所述第二量子线路对QR分解结果处理,得到所述线性***在子空间K′m内的中间值
第二获取子单元,用于根据所述中间值获取所述线性***在所述子空间K′m内的第二近似解x′m,其中,所述/>
具体的,所述分解子单元,包括:
第一分解子单元,用于将所述Hessenberg矩阵Hm+1,m分解成 其中,Qm+1为正交矩阵,Rm+1,m为上三角矩阵。
具体的,所述第二得到子单元,包括:
输入输出子单元,用于利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值其中,所述Rm为上三角矩阵Rm+1,m的前m行,α=||b0||2q1(1:m),q1(1:m)表示正交矩阵Qm+1第一列的前m个元素组成的向量,α与Rm、/>满足关系:/>
具体的,所述输入输出子单元之后,所述装置还包括:
第三判断子单元,用于判断所述中间值能否满足/>其中,∈3为预设第三精度;
第二更新子单元,用于若所述中间值不满足/>则获取更新后的第二残差向量αnew并返回执行所述利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值/>的步骤,其中,所述更新后的第二残差向量/>
具体的,所述装置还包括:
第四判断子单元,用于若所述中间值满足/>则判断所述第二近似解x′m能否满足||A′x′m-b′||2<∈4,其中,∈4为预设第四精度;
第二确定子单元,用于若所述第二近似解x′m满足||A′x′m-b′||2<∈4,则确定所述第二近似解x′m即为所述线性***Ax=b在子空间K′m内的目标解。
具体的,所述装置还包括:
第三更新子单元,用于若所述第二近似解x′m不满足||A′x′m-b′||2<∈4,则更新预设初始解x0为当前第二近似解x′m,并获取更新后的当前残差b′-A′x′m,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第四精度的目标解为止。
与现有技术相比,本发明首先确定待求解线性***并对待求解线性***进行预处理,其次分别构建求解线性***的混合子空间和用于求解线性***的量子线路,利用混合子空间和量子线路,计算预处理后的待求解线性***的目标解,利用混合子空间的综合求解性能,以解决现有技术中的不足,它能够降低解线性问题求解的时间复杂度和计算量,加快量子线性算法的求解速度。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S201:确定待求解线性***并对所述待求解线性***进行预处理;
S202:分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路;
S203:利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random AccessMemory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S201:确定待求解线性***并对所述待求解线性***进行预处理;
S202:分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路;
S203:利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (18)

1.一种基于混合子空间的线性***求解方法,其特征在于,所述方法包括:
确定待求解线性***并对所述待求解线性***进行预处理;
分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路;
利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解。
2.根据权利要求1所述的方法,其特征在于,所述确定待求解线性***并对所述待求解线性***进行预处理,包括:
获取待求解线性***Ax=b,其中,所述A为第一矩阵,所述b为第一向量;
根据所述第一矩阵A,确定用于线性***预处理的稀疏近似矩阵M,其中,所述稀疏近似矩阵M为A-1的稀疏近似且满足预设稀疏结构;
根据所述稀疏近似矩阵M,分别获取线性***预处理后的第二矩阵A′、第二向量b′及初始残差b0,其中,所述第二矩阵A′=MA,所述第二向量b′=Mb,所述初始残差根据初始近似解x0计算,满足b0=b′-A′x0
3.根据权利要求2所述的方法,其特征在于,所述分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路,包括:
基于完全正交化子空间方法,构建m阶Krylov子空间Km和求解所述线性***的HHL算法对应的第一量子线路;以及
基于广义极小残量方法,构建m阶Krylov子空间K′m和求解所述线性***的HHL算法对应的第二量子线路。
4.根据权利要求1或3所述的方法,其特征在于,所述利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解,包括:
判断当前残差的范数是否大于第一阈值,其中,所述当前残差根据当前近似解确定;
若是,则根据所述子空间Km、第一量子线路,并利用完全正交化子空间方法计算所述线性***在所述子空间Km内的第一近似解xm,否则,根据所述子空间K′m、第二量子线路,并利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m
根据所述第一近似解xm或所述第二近似解x′m,更新当前近似解,继续执行所述判断当前残差的范数是否大于第一阈值的步骤,直至获取满足精度的解,作为所述待求解线性***的目标解。
5.根据权利要求4所述的方法,其特征在于,所述根据所述子空间Km、第一量子线路,并利用完全正交化子空间方法计算所述线性***在所述子空间Km内的第一近似解xm,包括:
构造对应第二矩阵A′和当前残差的所述子空间Km的标准正交基组Vm和Hessenberg矩阵Hm
利用所述第一量子线路处理所述Hessenberg矩阵Hm和第一残差向量βm的值,得到所述线性***在子空间Km内的中间值ym,其中,所述βm=[||b0||2,0,0,…,0]T,Hm、ym和βm满足线性关系:Hmym=βm
根据所述中间值ym,获取所述线性***在子空间Km内的第一近似解xm,其中,所述xm=x0+Vmym
6.根据权利要求5所述的方法,其特征在于,所述利用所述第一量子线路,输入所述Hessenberg矩阵Hm和第一残差向量βm的值,输出所述线性***在子空间Km内的中间值ym之后,所述方法还包括:
判断所述中间值ym能否满足||Hmymm||2<∈1,其中,∈1为预设第一精度;
若所述中间值ym不满足||Hmymm||2<∈1,则获取更新后的第一残差向量并返回执行所述利用所述第一量子线路,输入所述Hessenberg矩阵Hm和第一残差向量βm的值,输出所述线性***在子空间Km内的中间值ym的步骤,其中,所述更新后的第一残差向量βnew=βm-Hmym
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述中间值ym满足||Hmymm||2<∈1,则判断所述第一近似解xm能否满足||A′xm-b′||2<∈2,其中,∈2为预设第二精度;
若所述第一近似解xm满足||A′xm-b′||2<∈2,则确定所述第一近似解xm即为所述线性***Ax=b在子空间Km内的目标解。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若所述第一近似解xm不满足||A′xm-b′||2<∈2,则更新预设初始解x0为当前第一近似解xm,并获取更新后的当前残差b′-A′xm,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第二精度的目标解为止。
9.根据权利要求4所述的方法,其特征在于,所述根据所述子空间K′m、第二量子线路,并利用广义极小残量法计算所述线性***在所述子空间K′m内的第二近似解x′m,包括:
利用预设规则,对当前残差进行优化;
构造对应第二矩阵A′和优化后的当前残差的所述子空间K′m的标准正交基组V′m和Hessenberg矩阵Hm+1,m
对所述Hessenberg矩阵Hm+1,m进行QR分解;
利用所述第二量子线路对QR分解结果处理,得到所述线性***在子空间K′m内的中间值
根据所述中间值获取所述线性***在所述子空间K′m内的第二近似解x′m,其中,所述/>
10.根据权利要求9所述的方法,其特征在于,所述对所述Hessenberg矩阵Hm+1,m进行QR分解,包括:
将所述Hessenberg矩阵Hm+1,m分解成其中,Qm+1为正交矩阵,Rm+1,m为上三角矩阵。
11.根据权利要求10所述的方法,其特征在于,所述利用所述第二量子线路对QR分解结果处理,得到所述线性***在子空间K′m内的中间值包括:
利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值其中,所述Rm为上三角矩阵Rm+1,m的前m行,α=||b0||2q1(1:m),q1(1:m)表示正交矩阵Qm+1第一列的前m个元素组成的向量,α与Rm、/>满足关系:/>
12.根据权利要求11所述的方法,其特征在于,所述利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值之后,所述方法还包括:
判断所述中间值能否满足/>其中,∈3为预设第三精度;
若所述中间值不满足/>则获取更新后的第二残差向量αnew并返回执行所述利用所述第二量子线路,输入Rm和第二残差向量α的值,输出所述线性***在子空间K′m内的中间值/>的步骤,其中,所述更新后的第二残差向量
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
若所述中间值满足/>则判断所述第二近似解x′m能否满足||A′x′m-b′||2<∈4,其中,∈4为预设第四精度;
若所述第二近似解x′m满足||A′x′m-b′||2<∈4,则确定所述第二近似解x′m即为所述线性***Ax=b在子空间K′m内的目标解。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
若所述第二近似解x′m不满足||A′x′m-b′||2<∈4,则更新预设初始解x0为当前第二近似解x′m,并获取更新后的当前残差b′-A′x′m,返回执行所述判断当前残差的范数是否大于第一阈值的步骤并继续迭代计算,直至获得满足预设第四精度的目标解为止。
15.根据权利要求1所述的方法,其特征在于,构建所述用于求解所述线性***的量子线路,包括:
获得包括辅助量子比特、第一量子比特、第二量子比特的若干量子比特,其中,所述辅助量子比特和所述第一量子比特的初态置为|0>,所述第二量子比特的初态置为所述bi为所述第一向量b的第i个元素,所述N为第一向量的维数;
确定所述第一矩阵A对应的酉矩阵U;
构建用以相位估计的第一子量子线路模块,用于将所述|b>在第一矩阵A的特征空间上分解为并将所述第一量子比特和所述第二量子比特的初态|0>|b>转化为/>其中,所述|μj>为所述第一矩阵A的特征向量,所述λj为所述第一矩阵A的特征值,所述βj为所述第一矩阵A特征向量的振幅;
构建用以执行受控旋转操作的第二子量子线路模块,用于将|λj>作为控制比特对辅助量子比特进行旋转,得到其中,所述C为归一化常数;
构建用以执行逆相位估计的第三子量子线路模块,用于将|λj>复位至|0>;
构建用于所述辅助量子比特的测量操作模块,以使测量到所述辅助量子比特的量子态为|1>时,得到:所述|x′>∝|x>;
将所述第一子量子线路模块、所述第二子量子线路模块、所述第三子量子线路模块和所述量子测量操作模块,依次组成用于求解所述线性***的量子线路。
16.一种基于混合子空间的线性***求解装置,其特征在于,所述装置包括:
确定模块,用于确定待求解线性***并对所述待求解线性***进行预处理;
构建模块,用于分别构建求解所述线性***的混合子空间和用于求解所述线性***的量子线路;
计算模块,用于利用所述混合子空间和所述量子线路,计算预处理后的所述待求解线性***的目标解。
17.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至15任一项中所述的方法。
18.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至15任一项中所述的方法。
CN202210387083.9A 2022-04-13 2022-04-13 基于混合子空间的线性***求解方法、装置、介质及设备 Pending CN116957084A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210387083.9A CN116957084A (zh) 2022-04-13 2022-04-13 基于混合子空间的线性***求解方法、装置、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210387083.9A CN116957084A (zh) 2022-04-13 2022-04-13 基于混合子空间的线性***求解方法、装置、介质及设备

Publications (1)

Publication Number Publication Date
CN116957084A true CN116957084A (zh) 2023-10-27

Family

ID=88449776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210387083.9A Pending CN116957084A (zh) 2022-04-13 2022-04-13 基于混合子空间的线性***求解方法、装置、介质及设备

Country Status (1)

Country Link
CN (1) CN116957084A (zh)

Similar Documents

Publication Publication Date Title
JP7178513B2 (ja) ディープラーニングに基づく中国語単語分割方法、装置、記憶媒体及びコンピュータ機器
US20220253742A1 (en) Quantum error correction decoding system and method, fault-tolerant quantum error correction system, and chip
CN114418105A (zh) 一种基于量子线路处理量子应用问题的方法及装置
CN114819163B (zh) 量子生成对抗网络的训练方法、装置、介质及电子装置
CN114492815A (zh) 一种基于量子化学计算目标体系能量的方法、装置及介质
WO2022147583A2 (en) System and method for optimal placement of interacting objects on continuous (or discretized or mixed) domains
CN114372539B (zh) 基于机器学习框架的分类方法及相关设备
CN115809705A (zh) 基于量子计算的流体动力学计算***及量子计算机
CN114418104B (zh) 一种量子应用问题的处理方法及装置
CN116957084A (zh) 基于混合子空间的线性***求解方法、装置、介质及设备
CN115577776A (zh) 基态能量的确定方法、装置、设备及存储介质
CN114519429A (zh) 获取目标体系的可观测量的方法、装置及介质
CN116070707A (zh) 基于量子线路的线性***求解方法、装置、介质及设备
CN116090571A (zh) 基于广义极小残量的量子线性求解方法、装置及介质
CN114862079A (zh) 基于量子线路的风险值估算方法、装置、介质及电子装置
CN116090572A (zh) 基于完全正交化的量子线性求解方法、装置、介质及设备
CN114819167B (zh) 一种稀疏线性***的稀疏近似逆量子预处理方法及装置
CN115618663B (zh) 一种网格方程与物理方程耦合的量子求解方法及装置
CN117056646A (zh) 一种用于子空间的变分量子线性求解方法、装置及介质
CN114692879B (zh) 一种基于稀疏线性***的量子预处理方法及装置
CN116050528B (zh) 振幅放大线路的构建方法、装置、介质及电子装置
US20240112054A1 (en) Quantum preprocessing method, device, storage medium and electronic device
US20230186131A1 (en) Simulator for quantum computing systems
CN117113874A (zh) 一种基于量子牛顿法的流体状态更新方法及相关装置
CN116263883A (zh) 基于多项式预处理器的量子线性求解方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination