本发明属于量子计算,特别是一种基于量子线路的线性系统求解方法、装置、介质及设备。
背景技术:
1、量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解rsa密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
2、量子计算模拟是一个借助数值计算和计算机科学来仿真遵循量子力学规律的模拟计算,作为一个仿真程序,它依据量子力学的量子比特的基本定律,利用计算机的高速计算能力,刻画量子态的时空演化。
3、对线性系统组的求解是许多科学与工程问题的核心,求解此类问题的经典算法统称为线性系统算法。近年来,量子计算领域的一个非常重要的成果是量子线性系统算法,其中最著名的当属harrow、hassidim和lloyd于2009年共同提出的hhl算法,但是该算法随着输入矩阵维度的增大,求解线性系统问题的时间复杂度会随之提高,导致其求解过程可能需要调用兆字节甚至千兆字节的数据量,对计算资源的需求过高,使其无法在普通的计算机上对实际物理问题进行模拟求解。
技术实现思路
1、本发明的目的是提供一种基于量子线路的线性系统求解方法、装置、介质及设备,以解决现有技术中的不足,它能够降低解线性问题求解的时间复杂度和计算量,同时减少硬件资源的占用。
2、本技术的一个实施例提供了一种基于量子线路的线性系统求解方法,所述方法包括:
3、获取待处理线性系统,并对所述待处理线性系统进行降维预处理;
4、构造预设子空间和用于求解所述线性系统的量子线路,计算预处理后的所述待处理线性系统在所述预设子空间内的近似解。
5、可选的,所述获取待处理线性系统,包括:
6、获取待处理线性系统ax=b,其中,所述a为第一矩阵,所述b为第一向量。
7、可选的,所述对所述待处理线性系统进行降维预处理,包括:
8、根据所述第一矩阵a,构建用于线性系统预处理的稀疏近似矩阵m,其中,所述稀疏近似矩阵m为a-1的稀疏近似且满足预设稀疏结构;
9、根据所述稀疏近似矩阵m,分别获取线性系统中第二矩阵a′、第二向量b′及当前残差b0,其中,所述第二矩阵a′=ma,所述第二向量b′=mb,所述当前残差b0根据预设初始解x0计算,满足b0=b′-a′x0。
10、可选的,所述构造预设子空间和用于求解所述线性系统的量子线路,计算预处理后的所述待处理线性系统在所述预设子空间内的近似解,包括:
11、构造m阶krylov子空间km和hhl算法对应的量子线路,利用完全正交化子空间方法,计算预处理后的所述待处理线性系统在krylov子空间km内的近似解xm;或,
12、构造m阶krylov子空间km和hhl算法对应的量子线路,利用广义极小残量方法,计算预处理后的所述待处理线性系统在krylov子空间km内的近似解xm。
13、可选的,所述构造m阶krylov子空间km和hhl算法对应的量子线路,利用完全正交化子空间方法,计算预处理后的所述待处理线性系统在krylov子空间km内的近似解xm,包括:
14、根据arnoldi算法、第二矩阵a′和当前残差,构造m阶krylov子空间km的标准正交基组vm和hessenberg矩阵hm;
15、构建hhl算法对应的量子线路,输入所述hessenberg矩阵hm和残差向量βm的值,输出所述待处理线性系统在krylov子空间km内的中间值ym,其中,所述βm=[||b0||2,0,0,…,0]t,hm、ym和βm满足线性关系:hmym=βm;
16、根据所述中间值ym,获取所述待处理线性系统在krylov子空间km内的近似解xm,其中,所述xm=x0+vmym。
17、可选的,所述所述构建hhl算法对应的量子线路,输入所述hessenberg矩阵hm和残差向量βm的值,输出所述待处理线性系统在krylov子空间km内的中间值ym之后,所述方法还包括:
18、判断所述中间值ym能否满足||hmym-βm||2<∈1,其中,∈1为预设第一精度;
19、若所述中间值ym不满足||hmym-βm||2<∈1,则获取更新后的残差向量并返回执行所述构建hhl算法对应的量子线路,输入所述hessenberg矩阵hm和残差向量βm的值,输出所述待处理线性系统在krylov子空间km内的中间值ym的步骤,其中,所述更新后的残差向量βnew=βm-hmym。
20、可选的,所述方法还包括:
21、若所述中间值ym满足||hmym-βm||2<∈1,则判断所述近似解xm能否满足||a′xm-b′||2<∈2,其中,∈2为预设第二精度;
22、若所述近似解xm满足||a′xm-b′||2<∈2,则确定所述近似解xm即为所述待处理线性系统ax=b在krylov子空间km内的目标近似解。
23、可选的,所述方法还包括:
24、若所述近似解xm不满足||a′xm-b′||2<∈2,则更新初始解x0为当前近似解xm,并获取更新后的当前残差b′-a′xm,返回执行所述根据arnoldi算法、第二矩阵a′和当前残差,构造m阶krylov子空间km的标准正交基组vm和hessenberg矩阵hm的步骤继续迭代计算,直至获得满足预设第二精度的目标近似解为止。
25、可选的,所述构造m阶krylov子空间km和hhl算法对应的量子线路,利用广义极小残量方法,计算预处理后的所述待处理线性系统在krylov子空间km内的近似解xm,包括:
26、根据arnoldi算法、第二矩阵a′和当前残差,构造m阶krylov子空间km的标准正交基组vm和hessenberg矩阵hm+1,m;
27、对所述hessenberg矩阵hm+1,m进行qr分解并构建hhl算法对应的量子线路;
28、利用所述hhl算法对应的量子线路,输出所述待处理线性系统在krylov子空间km内的中间值
29、根据所述中间值获取所述待处理线性系统在krylov子空间km内的近似解xm,其中,所述
30、可选的,所述对所述hessenberg矩阵hm+1,m进行qr分解,包括:
31、将所述hessenberg矩阵hm+1,m分解成其中,qm+1为正交矩阵,rm+1,m为上三角矩阵。
32、可选的,所述利用所述hhl算法对应的量子线路,输出所述待处理线性系统在krylov子空间km内的中间值包括:
33、利用所述hhl算法对应的量子线路,输入rm和残差向量α的值,输出所述待处理线性系统在krylov子空间km内的中间值其中,rm为上三角矩阵rm+1,m的前m行,α=||b0||2q1(1:m),q1(1:m)表示正交矩阵qm+1第一列的前m个元素组成的向量,α与rm、满足关系:
34、可选的,所述利用所述hhl算法对应的量子线路,输入rm和残差向量α的值,输出所述待处理线性系统在krylov子空间km内的中间值之后,所述方法还包括:
35、判断所述中间值能否满足其中,∈3为预设第三精度;
36、若所述中间值不满足则获取更新后的残差向量αnew并返回执行所述利用所述hhl算法对应的量子线路,输入rm和残差向量α的值,输出所述待处理线性系统在krylov子空间km内的中间值的步骤,其中,所述更新后的残差向量
37、可选的,所述方法还包括:
38、若所述中间值满足则判断所述近似解xm能否满足||a′xm-b′||2<∈4,其中,∈4为预设第四精度;
39、若所述近似解xm满足||a′xm-b′||2<∈4,则确定所述近似解xm即为所述待处理线性系统ax=b在krylov子空间km内的目标近似解。
40、可选的,所述方法还包括:
41、若所述近似解xm不满足||a′xm-b′||2<∈4,则更新初始解x0为当前近似解xm,并获取更新后的当前残差b′-a′xm并返回执行所述根据arnoldi算法、第二矩阵a′和当前残差,构造m阶krylov子空间km的标准正交基组vm和hessenberg矩阵hm+1,m的步骤继续迭代计算,直至获得满足预设第四精度的目标近似解为止。
42、可选的,所述构建hhl算法对应的量子线路,包括:
43、获得包括辅助量子比特、第一量子比特、第二量子比特的若干量子比特,其中,所述辅助量子比特和所述第一量子比特的初态置为|0>,所述第二量子比特的初态置为所述bi为所述第一向量b的第i个元素,所述n为第一向量的维数;
44、确定所述第一矩阵a对应的酉矩阵u;
45、构建用以相位估计的第一子量子线路模块,用于将所述|b>在第一矩阵a的特征空间上分解为并将所述第一量子比特和所述第二量子比特的初态|0>|b>转化为其中,所述|μj>为所述第一矩阵a的特征向量,所述λj为所述第一矩阵a的特征值,所述βj为所述第一矩阵a特征向量的振幅;
46、构建用以执行受控旋转操作的第二子量子线路模块,用于将|λj>作为控制比特对辅助量子比特进行旋转,得到其中,所述c为归一化常数;
47、构建用以执行逆相位估计的第三子量子线路模块,用于将|λj>复位至|0>;
48、构建用于所述辅助量子比特的测量操作模块,以使测量到所述辅助量子比特的量子态为|1>时,得到:所述|x′>∝|x>;
49、将所述第一子量子线路模块、所述第二子量子线路模块、所述第三子量子线路模块和所述量子测量操作模块,依次组成hhl算法对应的量子线路。
50、可选的,所述确定所述第一矩阵a对应的酉矩阵u,包括:
51、若所述第一矩阵a为hermite矩阵,确定对应的酉矩阵u=eiat;其中,所述t为常量;
52、若所述第一矩阵a为非hermite矩阵,确定对应hermite矩阵以确定对应的酉矩阵
53、本技术的又一实施例提供了一种基于量子线路的线性系统求解装置,所述装置包括:
54、获取模块,用于获取待处理线性系统,并对所述待处理线性系统进行降维预处理;
55、构造模块,用于构造预设子空间和用于求解所述线性系统的量子线路,计算预处理后的所述待处理线性系统在所述预设子空间内的近似解。
56、可选的,所述获取模块,包括:
57、第一获取单元,用于获取待处理线性系统ax=b,其中,所述a为第一矩阵,所述b为第一向量。
58、可选的,所述获取模块,包括:
59、第一构建单元,用于根据所述第一矩阵a,构建用于线性系统预处理的稀疏近似矩阵m,其中,所述稀疏近似矩阵m为a-1的稀疏近似且满足预设稀疏结构;
60、第二获取单元,用于根据所述稀疏近似矩阵m,分别获取线性系统中第二矩阵a′、第二向量b′及当前残差b0,其中,所述第二矩阵a′=ma,所述第二向量b′=mb,所述当前残差b0根据预设初始解x0计算,满足b0=b′-a′x0。
61、可选的,所述构造模块,包括:
62、选择单元,用于构造m阶krylov子空间km和hhl算法对应的量子线路,利用完全正交化子空间方法,计算预处理后的所述待处理线性系统在krylov子空间km内的近似解xm;或,
63、构造m阶krylov子空间km和hhl算法对应的量子线路,利用广义极小残量方法,计算预处理后的所述待处理线性系统在krylov子空间km内的近似解xm。
64、可选的,所述构造模块,包括:
65、第一构造单元,用于根据arnoldi算法、第二矩阵a′和当前残差,构造m阶krylov子空间km的标准正交基组vm和hessenberg矩阵hm;
66、第二构建单元,用于构建hhl算法对应的量子线路,输入所述hessenberg矩阵hm和残差向量βm的值,输出所述待处理线性系统在krylov子空间km内的中间值ym,其中,所述βm=[||b0||2,0,0,…,0]t,hm、ym和βm满足线性关系:hmym=βm;
67、第三获取单元,用于根据所述中间值ym,获取所述待处理线性系统在krylov子空间km内的近似解xm,其中,所述xm=x0+vmym。
68、可选的,所述第二构建单元之后,所述装置还包括:
69、第一判断单元,用于判断所述中间值ym能否满足||hmym-βm||2<∈1,其中,∈1为预设第一精度;
70、第一返回单元,用于若所述中间值ym不满足||hmym-βm||2<∈1,则获取更新后的残差向量并返回执行所述构建hhl算法对应的量子线路,输入所述hessenberg矩阵hm和残差向量βm的值,输出所述待处理线性系统在krylov子空间km内的中间值ym的步骤,其中,所述更新后的残差向量βnew=βm-hmym。
71、可选的,所述装置还包括:
72、第二判断单元,用于若所述中间值ym满足||hmym-βm||2<∈1,则判断所述近似解xm能否满足||a′xm-b′||2<∈2,其中,∈2为预设第二精度;
73、第一确定单元,用于若所述近似解xm满足||a′xm-b′||2<∈2,则确定所述近似解xm即为所述待处理线性系统ax=b在krylov子空间km内的目标近似解。
74、可选的,所述装置还包括:
75、第二返回单元,用于若所述近似解xm不满足||a′xm-b′||2<∈2,则更新初始解x0为当前近似解xm,并获取更新后的当前残差b′-a′xm,返回执行所述根据arnoldi算法、第二矩阵a′和当前残差,构造m阶krylov子空间km的标准正交基组vm和hessenberg矩阵hm的步骤继续迭代计算,直至获得满足预设第二精度的目标近似解为止。
76、可选的,所述构造模块,包括:
77、第二构造单元,用于根据arnoldi算法、第二矩阵a′和当前残差,构造m阶krylov子空间km的标准正交基组vm和hessenberg矩阵hm+1,m;
78、分解单元,用于对所述hessenberg矩阵hm+1,m进行qr分解并构建hhl算法对应的量子线路;
79、第一输出单元,用于利用所述hhl算法对应的量子线路,输出所述待处理线性系统在krylov子空间km内的中间值
80、第四获取单元,用于根据所述中间值获取所述待处理线性系统在krylov子空间km内的近似解xm,其中,所述
81、可选的,所述分解单元,包括:
82、分解子单元,用于将所述hessenberg矩阵hm+1,m分解成其中,qm+1为正交矩阵,rm+1,m为上三角矩阵。
83、可选的,所述第一输出单元,包括:
84、第一输出子单元,用于利用所述hhl算法对应的量子线路,输入rm和残差向量α的值,输出所述待处理线性系统在krylov子空间km内的中间值其中,rm为上三角矩阵rm+1,m的前m行,α=||b0||2q1(1:m),q1(1:m)表示正交矩阵qm+1第一列的前m个元素组成的向量,α与rm、满足关系:
85、可选的,所述第一输出子单元之后,所述装置还包括:
86、第三判断单元,用于判断所述中间值能否满足其中,∈3为预设第三精度;
87、第五获取单元,用于若所述中间值不满足则获取更新后的残差向量αnew并返回执行所述利用所述hhl算法对应的量子线路,输入rm和残差向量α的值,输出所述待处理线性系统在krylov子空间km内的中间值的步骤,其中,所述更新后的残差向量
88、可选的,所述装置还包括:
89、第四判断单元,用于若所述中间值满足则判断所述近似解xm能否满足||a′xm-b′||2<∈4,其中,∈4为预设第四精度;
90、第二确定单元,用于若所述近似解xm满足||a′xm-b′||2<∈4,则确定所述近似解xm即为所述待处理线性系统ax=b在krylov子空间km内的目标近似解。
91、可选的,所述装置还包括:
92、第三返回单元,用于若所述近似解xm不满足||a′xm-b′||2<∈4,则更新初始解x0为当前近似解xm,并获取更新后的当前残差b′-a′xm并返回执行所述根据arnoldi算法、第二矩阵a′和当前残差,构造m阶krylov子空间km的标准正交基组vm和hessenberg矩阵hm+1,m的步骤继续迭代计算,直至获得满足预设第四精度的目标近似解为止。
93、可选的,所述第二构建单元,包括:
94、获得子单元,用于获得包括辅助量子比特、第一量子比特、第二量子比特的若干量子比特,其中,所述辅助量子比特和所述第一量子比特的初态置为|0>,所述第二量子比特的初态置为所述bi为所述第一向量b的第i个元素,所述n为第一向量的维数;
95、确定子单元,用于确定所述第一矩阵a对应的酉矩阵u;
96、第一构建子单元,用于构建用以相位估计的第一子量子线路模块,用于将所述|b>在第一矩阵a的特征空间上分解为并将所述第一量子比特和所述第二量子比特的初态|0>|b)转化为其中,所述|μj>为所述第一矩阵a的特征向量,所述λj为所述第一矩阵a的特征值,所述βj为所述第一矩阵a特征向量的振幅;
97、第二构建子单元,用于构建用以执行受控旋转操作的第二子量子线路模块,用于将|λj>作为控制比特对辅助量子比特进行旋转,得到其中,所述c为归一化常数;
98、第三构建子单元,用于构建用以执行逆相位估计的第三子量子线路模块,用于将|λj>复位至|0>;
99、第四构建子单元,用于构建用于所述辅助量子比特的测量操作模块,以使测量到所述辅助量子比特的量子态为|1>时,得到:所述|x′>∝|x>;
100、组成子单元,用于将所述第一子量子线路模块、所述第二子量子线路模块、所述第三子量子线路模块和所述量子测量操作模块,依次组成hhl算法对应的量子线路。
101、可选的,所述确定子单元,包括:
102、第一确定子单元,用于若所述第一矩阵a为hermite矩阵,确定对应的酉矩阵u=eiat;其中,所述t为常量;
103、第二确定子单元,用于若所述第一矩阵a为非hermite矩阵,确定对应hermite矩阵以确定对应的酉矩阵
104、本技术的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
105、本技术的又一实施例提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
106、与现有技术相比,本发明首先获取待处理线性系统,并对待处理线性系统进行降维预处理,其次构造预设子空间和用于求解线性系统的量子线路,计算预处理后的待处理线性系统在预设子空间内的近似解,它可以利用两种krylov子空间类方法,降低计算线性问题求解的时间复杂度和计算量,加快量子线性算法的求解速度,同时减少硬件资源的占用。