一种基于量子线路的非线性偏微分方程求解方法及装置与流程

文档序号:31669380发布日期:2022-09-28 00:36阅读:239来源:国知局
一种基于量子线路的非线性偏微分方程求解方法及装置与流程

1.本发明属于量子计算技术领域,特别是一种基于量子线路的非线性偏微分方程求解方法及装置。


背景技术:

2.以应用为目的,或以物理、力学等其他学科问题为背景的微分方程的研究,不仅是传统应用数学中的一个最主要内容,也是当代数学的一个重要组成部分,它是数学理论和实际应用之间的一座重要桥梁。
3.目前微分方程研究的主体是非线性微分方程,特别是非线性偏微分方程,很多意义重大的自然科学和工程技术问题都可归结为非线性偏微分方程的研究,现实生活的许多领域内数学模型都可以用非线性偏微分方程来描述,很多重要的物理、力学等学科的基本方程本身就是非线性偏微分方程,因此,如何精准快速求解非线性偏微分方程的研究工作就显示出了很重要的理论和应用价值。量子计算是一种新型计算方式,原理是用量子力学理论构建了一种计算框架。在求解一些问题时,比起最优的经典算法,量子计算有指数加速的效果。
4.现有的求解非线性偏微分方程的方法,由于复杂度较高,求解精确解的时间长且计算难度较大。
5.基于此,有必要提出对求解非线性偏微分方程有效的量子算法,用于针对非线性偏微分方程的求解,降低对于非线性偏微分方程求解的复杂度和难度,填补相关技术空白。


技术实现要素:

6.本发明的目的是提供一种基于量子线路的非线性偏微分方程求解方法及装置,以解决现有技术中的不足,它能够实现利用量子算法计算非线性偏微分方程的求解技术,降低对于非线性偏微分方程求解的复杂度和难度,填补量子计算领域相关技术空白。
7.本技术的一个实施例提供了一种基于量子线路的非线性偏微分方程求解方法,包括:
8.获取初始条件、边界条件和待处理非线性偏微分方程的信息;
9.根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组;
10.根据所述非线性方程组,确定对应的雅克比矩阵的非零元位置信息;
11.分别构建表示所述雅克比矩阵的非零元位置信息、所述非线性方程组对应的函数信息的量子态演化的量子线路,通过各所述量子线路确定非线性偏微分方程的解。
12.如上所述的一种基于量子线路的非线性偏微分方程求解方法,其中,优选的是,所述非线性方程组包括:
13.获取由所述非线性方程组的自变量构建的第一向量x和因变量构建的第二向量f
(x),其中,所述n为所述非线性方程组的维数。
14.如上所述的一种基于量子线路的非线性偏微分方程求解方法,其中,优选的是,所述雅可比矩阵具体为:
[0015][0016]
其中,i=1,2,

,n;j=1,2,

,n。
[0017]
如上所述的一种基于量子线路的非线性偏微分方程求解方法,其中,优选的是,所述通过各所述量子线路确定非线性偏微分方程的解,具体包括:
[0018]
确定所述非线性方程组的初始近似解x0和预设精度值∈,基于各所述量子线路构建表示非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态;
[0019]
根据所述子量子线路的量子态更新当前近似解,确定所述非线性方程组的状态估计参数,并判断所述状态估计参数与所述预设精度值的大小关系;
[0020]
若所述状态估计参数大于所述预设精度值,则返回执行:构建表示非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态的步骤,直至所述状态估计参数小于或等于所述预设精度值;
[0021]
根据演化后的所述子量子线路的末量子态,确定所述非线性方程组的解,作为所述非线性偏微分方程的解。
[0022]
如上所述的一种基于量子线路的非线性偏微分方程求解方法,其中,优选的是,所述表示所述雅克比矩阵的非零元位置信息、所述非线性方程组对应的函数信息的量子态演化的量子线路,包括:oracleo
f1
、oracleo
f2

[0023]
其中,所述oracleo
f1
用于提取所述非线性方程组第i个函数中自变量下标信息,所述oracleo
f1
的作用为:
[0024]of1
|i,j》=|i,f(i,j)》
[0025]
其中,i=1,2,..,n,j=1,2,...,d,f(i,j)表示fi(x)的第j个变量的下标,d为所述雅克比矩阵的稀疏度;
[0026]
所述oracleo
f2
用于计算所述非线性方程组第i个函数的值,所述oracleo
f2
的作用为:
[0027]of2
|i》|x(i)》|0》=|i》|x(i)》|fi(x(i))》
[0028]
其中,i=1,2,..,n。
[0029]
如上所述的一种基于量子线路的非线性偏微分方程求解方法,其中,优选的是,所述基于各所述量子线路构建表示非线性方程组近似解的量子态演化的子量子线路,包括:oracleo
a1
、oracleo
a2
和oracleob,其中,所述oracleo
a1
、oracleo
a2
基于oracleo
f1
、oracleo
f2
构建;所述oracleo
a1
、oracleo
a2
和oracleob用于实现:
[0030]oa1
|j,l》=|j,h(j,l)〉
[0031][0032][0033]
其中,h(j,l)表示矩阵a的第j行第l个非零元的列序号,cb为f(x)的范数,所述矩阵|f

(x)|
max
为所述雅可比矩阵f

(x)元素的最大值。
[0034]
如上所述的一种基于量子线路的非线性偏微分方程求解方法,其中,优选的是,所述确定所述非线性方程组的状态估计参数,包括:
[0035]
根据预先构建的用于存取量子数据的量子数据结构,确定分布存储于所述量子数据结构中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息;其中,所述量子数据结构为二叉树结构;
[0036]
根据所述地址信息,通过所述量子线路将所述叶子节点存储的数据转移到下一层叶子节点上,直至在所述二叉树结构中根节点上输出所述地址信息对应的量子态数据fk(x),以确定所述状态估计参数其中,n=log2n。
[0037]
本技术的又一实施例提供了一种基于量子线路的非线性偏微分方程求解装置,所述装置包括:
[0038]
获取模块,用于获取初始条件、边界条件和待处理非线性偏微分方程的信息;
[0039]
离散模块,用于根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组;
[0040]
确定模块,用于根据所述非线性方程组,确定对应的雅克比矩阵的非零元位置信息;
[0041]
演化模块,用于分别构建表示所述雅克比矩阵的非零元位置信息、所述非线性方程组对应的函数信息的量子态演化的量子线路,通过各所述量子线路确定非线性偏微分方程的解。
[0042]
如上所述的一种基于量子线路的非线性偏微分方程求解装置,其中,优选的是,所述确定模块包括:
[0043]
获取单元,用于获取由所述非线性方程组的自变量构建的第一向量x和因变量构建的第二向量f(x),其中,所述n为所述非线性方程组的维数。
[0044]
如上所述的一种基于量子线路的非线性偏微分方程求解装置,其中,优选的是,所述确定模块包括雅可比矩阵单元,具体用于实现:
[0045][0046]
其中,i=1,2,

,n;j=1,2,

,n。
[0047]
如上所述的一种基于量子线路的非线性偏微分方程求解装置,其中,优选的是,所述演化模块,具体包括:
[0048]
测量单元,用于确定所述非线性方程组的初始近似解x0和预设精度值∈,基于各所述量子线路构建表示非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态;
[0049]
更新单元,用于根据所述子量子线路的量子态更新当前近似解,确定所述非线性方程组的状态估计参数,并判断所述状态估计参数与所述预设精度值的大小关系;
[0050]
判断单元,用于若所述状态估计参数大于所述预设精度值,则返回执行:构建表示非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态的步骤,直至所述状态估计参数小于或等于所述预设精度值;
[0051]
确定单元,用于根据演化后的所述子量子线路的末量子态,确定所述非线性方程组的解,作为所述非线性偏微分方程的解。
[0052]
如上所述的一种基于量子线路的非线性偏微分方程求解装置,其中,优选的是,所述演化模块,包括:oracleo
f1
单元、oracleo
f2
单元;
[0053]
其中,所述oracleo
f1
单元用于提取所述非线性方程组第i个函数中自变量下标信息,所述oracleo
f1
的作用为:
[0054]of1
|i,j>=|i,f(i,j)>
[0055]
其中,i=1,2,..,n,j=1,2,...,d,f(i,j)表示fi(x)的第j个变量的下标,d为所述雅克比矩阵的稀疏度;
[0056]
所述oracleo
f2
单元用于计算所述非线性方程组第i个函数的值,所述oracleo
f2
的作用为:
[0057]of2
|i>|x(i)〉|0>=|i>|x(i)》|fi(x(i))》
[0058]
其中,i=1,2,..,n。
[0059]
如上所述的一种基于量子线路的非线性偏微分方程求解装置,其中,优选的是,所述测量单元,包括oracleo
a1
单元、oracleo
a2
单元和oracleob单元,其中,所述oracleo
a1
、oracleo
a2
基于oracleo
f1
、oracleo
f2
构建;所述oracleo
a1
、oracleo
a2
和oracleob用于实现:
[0060]oa1
|j,l》=|j,h(j,l)》
[0061][0062][0063]
其中,h(j,l)表示矩阵a的第j行第l个非零元的列序号,cb为f(x)的范数,所述矩
阵|f

(x)|
max
为所述雅可比矩阵f

(x)元素的最大值。
[0064]
如上所述的一种基于量子线路的非线性偏微分方程求解装置,其中,优选的是,所述更新单元,包括:
[0065]
存取单元,用于根据预先构建的用于存取量子数据的量子数据结构,确定分布存储于所述量子数据结构中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息;其中,所述量子数据结构为二叉树结构;
[0066]
输出单元,用于根据所述地址信息,通过所述量子线路将所述叶子节点存储的数据转移到下一层叶子节点上,直至在所述二叉树结构中根节点上输出所述地址信息对应的量子态数据fk(x),以确定所述状态估计参数(x),以确定所述状态估计参数其中,n=log2n。
[0067]
本技术的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
[0068]
本技术的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
[0069]
与现有技术相比,本发明首先获取初始条件、边界条件和待处理非线性偏微分方程的信息,根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组,根据非线性方程组,确定对应的雅克比矩阵的非零元位置信息,分别构建表示雅克比矩阵的非零元位置信息、非线性方程组对应的函数信息的量子态演化的量子线路,通过各量子线路确定非线性偏微分方程的解,利用量子的相关特性,能够实现利用量子算法计算非线性偏微分方程的技术,降低对于非线性偏微分方程求解的复杂度和难度,填补量子计算领域相关技术空白。
附图说明
[0070]
图1是本发明实施例提供的一种基于量子线路的非线性偏微分方程求解方法的计算机终端的硬件结构框图;
[0071]
图2是本发明实施例提供的一种基于量子线路的非线性偏微分方程求解方法的流程示意图;
[0072]
图3为本发明实施例提供的一种离散格式示意图;
[0073]
图4是本发明实施例提供的一种关于t的量子线路示意图;
[0074]
图5是本发明实施例提供的一种关于行走算子w的量子线路示意图;
[0075]
图6是本发明实施例提供的一种实现量子线性求解器的量子线路示意图;
[0076]
图7是本发明实施例提供的一种基于量子线路的非线性偏微分方程求解装置的结构示意图。
具体实施方式
[0077]
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0078]
本发明实施例首先提供了一种基于量子线路的非线性偏微分方程求解方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
[0079]
下面以运行在计算机终端上为例对其进行详细说明。图1为本发明实施例提供的一种基于量子线路的非线性偏微分方程求解方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0080]
存储器104可用于存储应用软件的软件程序以及模块,如本技术实施例中的实现一种基于量子线路的非线性偏微分方程求解方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0081]
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0082]
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如qrunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
[0083]
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
[0084]
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
[0085]
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
[0086]
一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总
的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
[0087]
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如hadamard门(h门,哈德玛门)、泡利-x门(x门)、泡利-y门(y门)、泡利-z门(z门)、rx门、ry门、rz门等等;多比特量子逻辑门,如cnot门、cr门、iswap门、toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
[0088]
本领域技术人员可以理解的是,在经典计算机中,信息的基本单元是比特,一个比特有0和1两种状态,最常见的物理实现方式是通过电平的高低来表示这两种状态。在量子计算中,信息的基本单元是量子比特,一个量子比特也有0和1两种状态,记为|0〉和|1》,但它可以处于0和1两种状态的叠加态,可表示为其中,a、b为表示|0》态、|1〉态振幅(概率幅)的复数,这是经典比特不具备的。测量后,量子比特的状态会塌缩至一个确定的状态(本征态,此处为|0》态、|1》态),其中,塌缩至|0》的概率是|a|2,塌缩至|1》的概率是|b|2,|a|2+|b|2=1,|》为狄拉克符号。
[0089]
量子态,即指量子比特的状态,其本征态在量子算法(或称量子程序)中用二进制表示。例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,从高位到低位排序为q2q1q0,该组量子比特的量子态为23个本征态的叠加态,8个本征态(确定的状态)是指:|000》、|001》、|010》、|011》、|100》、|101》、|110》、|111》,每个本征态与量子比特位对应一致,如|000》态,000从高位到低位对应q2q1q0。简言之,量子态是各本征态组成的叠加态,当其他态的概率幅为0时,即处于其中一个确定的本征态。
[0090]
参见图2,图2为本发明实施例提供的一种基于量子线路的非线性偏微分方程求解方法的流程示意图,可以包括如下步骤:
[0091]
s201:获取初始条件、边界条件和待处理非线性偏微分方程的信息。
[0092]
非线性偏微分方程是现代数学的一个重要分支,无论在理论还是在实际应用中,非线性偏微分方程均被用来描述力学、控制过程、生态与经济系统、化工循环系统及流行病学等领域的问题,利用非线性偏微分方程描述问题可充分考虑到空间、时间、时滞的影响,因而更能准确的反映实际。
[0093]
非线性偏微分方程的解一般有多个,但是解决具体的物理问题的时候,必须从中选取所需要的解,因此,还必须知道附加条件,也就是初始条件和边界条件。
[0094]
示例性的,获取的非线性一阶扩散问题的非线性偏微分方程为:
[0095]
[0096]
其中,
[0097]
g(u,x,t)=-1+xsin(u(x,t))
[0098]
f(x,t)=2e
2t
[x
2-1+x-x2]sin(e
2t
(e
2-1)),
[0099]
初始条件为:u(-1,t)=0,t》0,边界条件为u(x,0)=x
2-1,-1《x《1。
[0100]
s202:根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组。
[0101]
具体的,根据预设的离散格式和差分格式,求解非线性偏微分方程,首先需要将计算区域离散化,即对空间上连续的计算区域进行划分,分成许多个子区域,并确定每个区域中的节点,从而生成网格,之后将非线性偏微分方程在网格上离散,即将偏微分格式的方程转化成各个节点上的代数方程组。
[0102]
示例性的,参见图3,图3为本发明实施例提供的一种离散格式示意图,其中椭圆形表示当前位置,三角形表示上一步的位置。接上述示例,初始条件和边界条件为:
[0103][0104]
按照如下的方式将原始连续的非线性偏微分方程离散化,得到:
[0105][0106]
并定义记号u
i,j
=u(xi,tj),以及时间和空间的差分形式:
[0107][0108]
从而得到离散化后的非线性方程组:
[0109][0110]
s203:根据所述非线性方程组,确定对应的雅克比矩阵的非零元位置信息。
[0111]
具体的,所述非线性方程组包括:获取由所述非线性方程组的自变量构建的第一向量x和因变量构建的第二向量f(x),其中,所述向量x和因变量构建的第二向量f(x),其中,所述n为所述非线性方程组的维数。
[0112]
所述雅可比矩阵具体为:
[0113][0114]
其中,i=1,2,

,n;j=1,2,

,n。
[0115]
示例性的,接上述示例,针对得到的离散化非线性方程组,其雅克比矩阵为n1×
n2维的稀疏方阵,并且其非零元位置是有规律的,其m=n1×
j+i行非零元的列位置为:
[0116][0117]
s204:分别构建表示所述雅克比矩阵的非零元位置信息、所述非线性方程组对应的函数信息的量子态演化的量子线路,通过各所述量子线路确定非线性偏微分方程的解。
[0118]
具体的,表示所述雅克比矩阵的非零元位置信息、所述非线性方程组对应的函数信息的量子态演化的量子线路,包括:oracleo
f1
、oracleo
f2

[0119]
其中,所述oracleo
f1
用于提取所述非线性方程组第i个函数中自变量下标信息,所述oracleo
f1
的作用为:
[0120]of1
|i,j>=|i,f(i,j)>
[0121]
其中,i=1,2,..,n,j=1,2,...,d,f(i,j)表示fi(x)的第j个变量的下标,为所述雅克比矩阵的稀疏度,即f

(x)的任意行和列的非零元数都不超过d;
[0122]
所述oracleo
f2
用于计算所述非线性方程组第i个函数的值,所述oracleo
f2
的作用为:
[0123]of2
|i>|x(i)〉|0>=|i>|x(i)》|fi(x(i))》
[0124]
其中,i=1,2,..,n,其f(i,j)值由差分格式所确定,x(i)表示在fi(x)中相关的xj。
[0125]
所述基于各所述量子线路构建表示非线性方程组近似解的量子态演化的子量子线路,包括:oracleo
a1
、oracleo
a2
和oracleob,其中,所述oracleo
a1
、oracleo
a2
基于oracleo
f1
、oracleo
f2
构建;所述oracleo
a1
、oracleo
a2
和oracleob用于实现:
[0126]oa1
|j,l》=|j,h(j,l)》
[0127][0128][0129]
其中,h(j,l)表示矩阵a的第j行第l个非零元的列序号,cb为f(x)的范数,所述矩阵|f

(x)|
max
为所述雅可比矩阵f

(x)元素的最大值。
[0130]
所述通过各所述量子线路确定非线性偏微分方程的解,具体包括:
[0131]
s2041:确定所述非线性方程组的初始近似解x0和预设精度值∈,基于各所述量子线路构建表示非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行
量子态的演化操作,测量得到演化后的所述子量子线路的量子态。
[0132]
具体的,首先确定非线性方程组的初始近似解x0(作为真实解的近似)和预设精度值∈,其中∈的值可根据用户需求自定义设置,一般取10-6

[0133]
构建表示非线性方程组近似解的量子态演化的子量子线路,即构建包含上述oracle功能模块的子量子线路,并针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态。
[0134]
s2042:根据所述子量子线路的量子态更新当前近似解,确定所述非线性方程组的状态估计参数,并判断所述状态估计参数与所述预设精度值的大小关系。
[0135]
具体的,已经确定非线性方程组的初始近似解x0(作为真实解的近似),然后根据子量子线路的量子态采样结果并进行更新迭代,假设迭代到第k步,更新当前近似解得到xk,f(xk),从而根据
[0136]
x
k+1
=x
k-[f

(xk)]-1
f(xk)
[0137]
在此过程中,需要求解线性方程组
[0138]f′
(xk)δxk=-f(xk)
[0139]
上式可以转化为
[0140]
x
k+1
=xk+δxk[0141]
不断迭代,直到f(x
k+1
)小于给定的预设精度值。
[0142]
具体的,在每次迭代,需要构建线性系统
[0143]
aδx=-|b>
[0144]
根据构建好的|b》、a及对应的oracle并运用量子线性系统求解器(quantum linear system solver,简记为qlss)来求解线性系统。qlss的输入为oracleob、o
a1
和o
a2
,通过qlss求解线性系统得到其归一化的解|δx》,其中,
[0145]
确定所述非线性方程组的状态估计参数,包括:
[0146]
根据预先构建的用于存取量子数据的量子数据结构,确定分布存储于所述量子数据结构中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息;其中,所述量子数据结构为二叉树结构。
[0147]
预设|mf>为量子数据,其作用是将经典数据转化为量子数据(作为将经典数据转化为量子数据的中间存储器),|mf》的数据结构为二叉树结构。确定分布存储于量子数据结构|mf》中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息。具体的,|mf》量子数据中,每一个节点保存了xi和fi(x),在每个内部节点中,保存了来自下一层相关xi和fi(x)的平方和的平方根,因此根节点保存了‖x‖和‖f(x)‖。在求解非线性方程组的每次迭代过程中,更新数据结构|mf》中的叶子节点中关于x和f(x)的相关数据,然后|mf>量子数据中的内部节点也跟着自动更新。
[0148]
具体的,给定一个n维的量子数据|mf〉,其具有以下性质:
[0149]
在量子数据|mf》中,提取xi,该过程可以表示为:
[0150]om1
|mf>|i〉|0〉=|mf》|i》|xi》,i=0,1,

,n-1
[0151]
在量子数据|mf》中,提取fi(x),该过程可以表示为:
[0152]om2
|mf》|i》|0》=|mf》|i〉|fi(x)》,i=0,1,

,n-1
[0153]
在量子数据|mf〉中,提取x序列在量子数据结构中的范数,该过程可以表示为:
[0154]om3
|mf〉|i〉|j》=|mf》|i》|j》|d
ijx
》,i=0,1,

,n;j=0,1,

,2
i-1
[0155]
在量子数据|mf》中,提取f(x)序列在量子数据结构中的范数,该过程可以表示为:
[0156]om4
|mf》|i》|j》=|mf》|i>|j》|d
ijy
》,i=0,1,

,n;j=0,1,

,2
i-1
[0157]
其中,o
m1
、o
m2
、o
m3
、o
m4
均为可实现特定功能的oracle模块,d
ijx
、d
ijy
分别代表节点中保存的xi和fi(x),(x),且d
00x
=‖x‖,d
00y
=‖f(x)‖。
[0158]
根据所述地址信息,通过所述量子线路将所述叶子节点存储的数据转移到下一层叶子节点上,直至在所述二叉树结构中根节点上输出所述地址信息对应的量子态数据fk(x),以确定所述状态估计参数其中,n=log2n,最后判断状态估计参数‖f(x)‖与预设精度值∈的大小关系。
[0159]
s2043:若所述状态估计参数大于所述预设精度值,则返回执行:构建表示非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态的步骤,直至所述状态估计参数小于或等于所述预设精度值。
[0160]
具体的,若‖f(x)‖>∈,则返回执行步骤s2041,直至状态估计参数‖f(x)‖小于或等于预设精度值∈。
[0161]
具体的,假设k步迭代已经被执行,并且已更新|mf(xk)》,利用求解线性系统中的oracle模块分别将输入量子线性系统求解器得到|δxk》,运用量子态采样算法得到并计算得到|δxk》的归一化常数更新|mf(xk)》到|mf(x
k+1
)》,最后判断状态估计参数‖f(x)‖与预设精度值∈的大小关系,此时如果||f(x
k+1
)||>∈,则返回执行步骤s2041,继续执行k+1步的迭代过程,直至状态估计参数||f(x
k+1
)||≤∈。
[0162]
需要说明的是,运用量子态采样算法得到并计算得到|δxk》的归一化常数其中:
[0163][0164][0165]
从可以计算改变后的fi(x),并更新fi(x)。
[0166]
s205:根据演化后的所述子量子线路的末量子态,确定所述非线性方程组的解,作
为所述非线性偏微分方程的解。
[0167]
具体的,如果‖f(x)‖《∈,停止迭代,获取达到迭代停止条件的量子数据|mf》,得到演化后的所述子量子线路的末量子态,其保存了非线性方程组的解,作为所述非线性偏微分方程的解。
[0168]
在量子应用中,通过构造一种oracle或oracle组合,该oracle或组合的内部原理即为本发明的方法流程。具体的,oracle可以理解为在量子算法中完成特定功能的模块(类似黑盒),在具体问题中会有具体的实现方式。
[0169]
目前,现有的量子线路构建往往只能够利用现有的单量子逻辑门、双量子逻辑门等等,通常存在以下问题:
[0170]
对于功能比较复杂的量子线路,需要用到的量子比特数量会非常多,使用经典计算机进行模拟的时候会消耗巨大的内存空间,需要用到的逻辑门数量会非常多,模拟耗时会非常长。并且,一些复杂的算法难以用量子线路进行实现。
[0171]
基于此,通过改用oracle模拟的方式实现特定的复杂功能,并实现受控和转置共轭操作。用户传入oracle的参数,可以包括:oracle名称(用于识别oracle的功能用途,如o
a1
)、量子比特位、矩阵元素等等。
[0172]
这种方式的好处是,整体上将oracle作为已知模块,无需关注其内部的实现细节,在量子应用场景例如量子线路的表示上,非常的简单明了。由于可以将经典模拟的oracle功能模块等效成量子逻辑门,使得构建的量子线路得以简化,因此节省了运行时所需的内存空间,并加快量子算法的模拟验证。
[0173]
需要说明的是,求解线性系统等价于求解系数矩阵的逆,本技术提供了一个通过算法的线性组合来求解近似矩阵的逆,运用chebyshev多项式的线性组合和来近似矩阵的逆。
[0174]
参见图4,图4为本发明实施例提供的一种关于t的量子线路示意图。本领域技术人员可以理解的是,h表示h门,o
a1
、o
a2
、m表示不同功能的oracle,t模块表示h门及各oracle组合的整体功能模块,t模块的功能即为将|j》变换为|ψj》。并且,获得的输入该t模块的矩阵为n阶矩阵,构建的t模块在量子线路中可等效于量子逻辑门,其矩阵形式为:∑
j∈[n]
|ψj><j|,其中,<j|为量子态左矢。
[0175]
具体的,利用h门,构建叠加态:
[0176]oa1
实现变换:
[0177]oa2
实现变换:
[0178]
执行由a
jl
控制的m算符,即m实现变换:
[0179][0180]
其中m可以定义为:
[0181][0182]
再次运用o
a2
,将编码|a
jl
》的量子比特回收,进而输出为|0》。
[0183]
需要说明的是,该示意图只示出了与本技术相关的部分量子线路,图中各标识及连接关系,仅仅作为示例,并不构成对本发明的限定。
[0184]
参见图5,图5为本发明实施例提供的一种关于行走算子w的量子线路示意图。本领域技术人员可以理解的是,任何一个简单的函数都可以线性近似为其他函数的线性组合,可以通过chebyshev切比雪夫多项式近似矩阵的逆函数。具体如下:
[0185][0186][0186]
还有
[0187]
本技术中求逆矩阵,它满足o(‖a-1-f‖)=∈。线性组合为:
[0188][0189]
此处g(x)是2∈,
[0190]
在d
κ
:=(-1,-1/κ)∪(1/κ,1)。是第一类chebyshev多项式。
[0191]
量子游走:为了实现chebyshev多项式,需要在量子行走框架中进行。
[0192]
因为量子游走被执行在空间中的一些态上,定义一个映射从到
[0193][0194]
和行走算子:
[0195][0196]
算子s执行中的乘积态的翻转操作。于是有:
[0197][0198]
是第一类chebyshev多项式。
[0199]
需要说明的是,如上述|ψj》的形式,采用竖线与尖括号的组合描述一个量子态,表示量子态是一个矢量(称为态矢、基矢等等),|ψj》表示右矢,《ψj|表示左矢。
[0200]
示例性的,例如图5所示,说明游走算子w的量子线路。因为s可以由一群交换操作构造出来(例如一个swap门,图5量子比特中两个标粗x相连的符号,即表示一个swap门),剩下来的就是
[0201]
为了构建需要构建t的酉算符形式,定义该酉算符tu应该满足:
[0202]
tu|j>|0>=|ψj》
[0203]
因此有:
[0204][0205]
其中,
[0206][0207]
且:k=2|0》《0|-i
2n

[0208]
参见图6,图6为本发明实施例提供的一种实现量子线性求解器的量子线路示意图。
[0209]
具体的,如图6所示的量子线路示意图中,v、t表示不同功能的oracle,表示转置共轭,t表示h门及各oracle组合的整体功能模块t,t模块的功能即为将|j》变换为|j>。并且,获得的输入该t模块的矩阵为n阶矩阵,构建的t模块在量子线路中可等效于量子逻辑门,其矩阵形式为:∑
j∈[n]
|ψj><j|,其中,<j|为量子态左矢。如图6所示的量子线路可执行量子态由|b》至|a-1
b>的量子态演化,具体的,运行整个量子线路并测量|j>和|anc>,当|j》和|anc>都坍塌到|0>,可以在第二个寄存器得到|-1
b》。
[0210]
量子oracle是一个黑盒表示某种量子态的转变。量子oracle的一个典型例子是线性系统:o|x〉|0>=|x>|f(x)>,此处计算f(x)用第一个量子寄存器作为输入,第二个量子寄存器作为输出。另外一个例子就是qram可以被视为一种oracle。很多量子算法用到oracle,许多量子算法都使用oracle,但他们不关心oracle的实现,它可以分解成量子门,也可以实现qram。在qpanda中,可以使用“oracle”函数来定义。oracle被认为是具有用户提供的名称。
[0211]
可见,本技术通过将非线性偏微分方程离散化后转化成非线性系统的矩阵及向量信息,并将其编码到量子态,将经典的数据结构与量子领域的量子态联系起来,并执行经典的数据结构编码到量子态的演化操作,得到演化后的量子线路的量子态,其能够利用量子的叠加特性,加速复杂度较高的非线性偏微分方程的求解问题,扩展量子计算的模拟应用场景。
[0212]
与现有技术相比,本发明首先获取初始条件、边界条件和待处理非线性偏微分方程的信息,根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分
方程离散化,得到离散化后的非线性方程组,根据非线性方程组,确定对应的雅克比矩阵的非零元位置信息,分别构建表示雅克比矩阵的非零元位置信息、非线性方程组对应的函数信息的量子态演化的量子线路,通过各量子线路确定非线性偏微分方程的解,利用量子的相关特性,能够实现利用量子算法计算非线性偏微分方程的技术,降低对于非线性偏微分方程求解的复杂度和难度,填补量子计算领域相关技术空白。
[0213]
参见图7,图7为本发明实施例提供的一种基于量子线路的非线性方程组求解装置的结构示意图,与图2所示的流程相对应,可以包括:
[0214]
获取模块701,用于获取初始条件、边界条件和待处理非线性偏微分方程的信息;
[0215]
离散模块702,用于根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组;
[0216]
确定模块703,用于根据所述非线性方程组,确定对应的雅克比矩阵的非零元位置信息;
[0217]
演化模块704,用于分别构建表示所述雅克比矩阵的非零元位置信息、所述非线性方程组对应的函数信息的量子态演化的量子线路,通过各所述量子线路确定非线性偏微分方程的解。
[0218]
具体的,所述确定模块包括:
[0219]
获取单元,用于获取由所述非线性方程组的自变量构建的第一向量x和因变量构建的第二向量f(x),其中,所述n为所述非线性方程组的维数。
[0220]
具体的,所述确定模块包括雅可比矩阵单元,具体用于实现:
[0221][0222]
其中,i=1,2,

,n;j=1,2,

,n。
[0223]
具体的,所述演化模块,具体包括:
[0224]
测量单元,用于确定所述非线性方程组的初始近似解x0和预设精度值∈,基于各所述量子线路构建表示非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态;
[0225]
更新单元,用于根据所述子量子线路的量子态更新当前近似解,确定所述非线性方程组的状态估计参数,并判断所述状态估计参数与所述预设精度值的大小关系;
[0226]
判断单元,用于若所述状态估计参数大于所述预设精度值,则返回执行:构建表示非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态的步骤,直至所述状态估计参数小于或等于所述预设精度值;
[0227]
确定单元,用于根据演化后的所述子量子线路的末量子态,确定所述非线性方程组的解,作为所述非线性偏微分方程的解。
[0228]
具体的,所述演化模块,包括:oracleo
f1
单元、oracleo
f2
单元;
[0229]
其中,所述oracleo
f1
单元用于提取所述非线性方程组第i个函数中自变量下标信息,所述oracleo
f1
的作用为:
[0230]of1
|i,j》=|i,f(i,j)》
[0231]
其中,i=1,2,..,n,j=1,2,...,d,f(i,j)表示fi(x)的第j个变量的下标,d为所述雅克比矩阵的稀疏度;
[0232]
所述oracleo
f2
单元用于计算所述非线性方程组第i个函数的值,所述oracleo
f2
的作用为:
[0233]of2
|i》|x(i)》|0》=|i》|x(i)》|fi(x(i))》
[0234]
其中,=1,2,..,n。
[0235]
具体的,所述测量单元,包括oracleo
a1
单元、oracleo
a2
单元和oracleob单元,其中,所述oracleo
a1
、oracleo
a2
基于oracleo
f1
、oracleo
f2
构建;所述oracleo
a1
、oracleo
a2
和oracleob用于实现:
[0236]oa1
|j,l》=|j,h(j,l)》
[0237][0238][0239]
其中,h(j,l)表示矩阵a的第j行第l个非零元的列序号,cb为f(x)的范数,所述矩阵|f

(x)|
max
为所述雅可比矩阵f

(x)元素的最大值。
[0240]
具体的,所述更新单元,包括:
[0241]
存取单元,用于根据预先构建的用于存取量子数据的量子数据结构,确定分布存储于所述量子数据结构中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息;其中,所述量子数据结构为二叉树结构;
[0242]
输出单元,用于根据所述地址信息,通过所述量子线路将所述叶子节点存储的数据转移到下一层叶子节点上,直至在所述二叉树结构中根节点上输出所述地址信息对应的量子态数据fk(x),以确定所述状态估计参数(x),以确定所述状态估计参数其中,n=log2n。
[0243]
与现有技术相比,本发明首先获取初始条件、边界条件和待处理非线性偏微分方程的信息,根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组,根据非线性方程组,确定对应的雅克比矩阵的非零元位置信息,分别构建表示雅克比矩阵的非零元位置信息、非线性方程组对应的函数信息的量子态演化的量子线路,通过各量子线路确定非线性偏微分方程的解,利用量子的相关特性,能够实现利用量子算法计算非线性偏微分方程的技术,降低对于非线性偏微分方程求解的复杂度和难度,填补量子计算领域相关技术空白。
[0244]
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
[0245]
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0246]
s201:获取初始条件、边界条件和待处理非线性偏微分方程的信息;
[0247]
s202:根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组;
[0248]
s203:根据所述非线性方程组,确定对应的雅克比矩阵的非零元位置信息;
[0249]
s204:分别构建表示所述雅克比矩阵的非零元位置信息、所述非线性方程组对应的函数信息的量子态演化的量子线路,通过各所述量子线路确定非线性偏微分方程的解。
[0250]
具体的,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0251]
与现有技术相比,本发明首先获取初始条件、边界条件和待处理非线性偏微分方程的信息,根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组,根据非线性方程组,确定对应的雅克比矩阵的非零元位置信息,分别构建表示雅克比矩阵的非零元位置信息、非线性方程组对应的函数信息的量子态演化的量子线路,通过各量子线路确定非线性偏微分方程的解,利用量子的相关特性,能够实现利用量子算法计算非线性偏微分方程的技术,降低对于非线性偏微分方程求解的复杂度和难度,填补量子计算领域相关技术空白。
[0252]
本发明实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
[0253]
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0254]
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0255]
s201:获取初始条件、边界条件和待处理非线性偏微分方程的信息;
[0256]
s202:根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组;
[0257]
s203:根据所述非线性方程组,确定对应的雅克比矩阵的非零元位置信息;
[0258]
s204:分别构建表示所述雅克比矩阵的非零元位置信息、所述非线性方程组对应的函数信息的量子态演化的量子线路,通过各所述量子线路确定非线性偏微分方程的解。
[0259]
与现有技术相比,本发明首先获取初始条件、边界条件和待处理非线性偏微分方程的信息,根据预设的离散格式和差分格式,将初始条件、边界条件和待处理非线性偏微分方程离散化,得到离散化后的非线性方程组,根据非线性方程组,确定对应的雅克比矩阵的非零元位置信息,分别构建表示雅克比矩阵的非零元位置信息、非线性方程组对应的函数信息的量子态演化的量子线路,通过各量子线路确定非线性偏微分方程的解,利用量子的相关特性,能够实现利用量子算法计算非线性偏微分方程的技术,降低对于非线性偏微分方程求解的复杂度和难度,填补量子计算领域相关技术空白。
[0260]
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构
想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1