CN115618663A - 一种网格方程与物理方程耦合的量子求解方法及装置 - Google Patents

一种网格方程与物理方程耦合的量子求解方法及装置 Download PDF

Info

Publication number
CN115618663A
CN115618663A CN202110807857.4A CN202110807857A CN115618663A CN 115618663 A CN115618663 A CN 115618663A CN 202110807857 A CN202110807857 A CN 202110807857A CN 115618663 A CN115618663 A CN 115618663A
Authority
CN
China
Prior art keywords
quantum
equation
coupling
nonlinear
oracleo
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
CN202110807857.4A
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.)
Origin Quantum Computing Technology Co Ltd
Original Assignee
Origin Quantum Computing Technology 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 Origin Quantum Computing Technology Co Ltd filed Critical Origin Quantum Computing Technology Co Ltd
Priority to CN202110807857.4A priority Critical patent/CN115618663A/zh
Publication of CN115618663A publication Critical patent/CN115618663A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • 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/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/28Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/14Force analysis or force optimisation, e.g. static or dynamic forces

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Fluid Mechanics (AREA)
  • Medical Informatics (AREA)
  • Operations Research (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种网格方程与物理方程耦合的量子求解方法及装置,方法包括:将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程,获取初始边界条件信息,离散耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息根据对应离散的非线性方程组及变量的位置信息,构建表示变量的位置信息、非线性方程组元素信息的量子态演化的量子线路,通过各量子线路确定网格位置与物理量的耦合方程的解,利用量子的相关特性,实现一种可以满足网格方程与物理方程耦合的量子求解技术,降低求解的复杂度。

Description

一种网格方程与物理方程耦合的量子求解方法及装置
技术领域
本发明属于量子计算技术领域,特别是一种网格方程与物理方程耦合的量子求解方法及装置。
背景技术
网格生成技术是计算流体动力学(Computational Fluid Dynamics)的重要组成部分,且对CFD的研究与应用起着至关重要的作用,网格的构建方式和质量直接影响计算的时间和结果的准确度。
传统方法将网格方程和物理方程同时进行求解,可以避免网格的滞后性,但是会引进较强的非线性项,并且将计算的维度成倍增加,且数值结果的好坏不仅与网格格式有关还与网格的分布相关。鉴于网格生成方程和物理方程求解对计算性能的迫切需求,以及传统方法虽然对计算流体动力学物理模型的研究中取得了一定成效,但求解的过程包含各种近似,甚至部分情况下计算解与模拟结果相去甚远,并且模型的维数高、线性方程组的未知元多、解的性质复杂、计算困难。可见,现有的求解网格方程与物理方程耦合的方法,由于复杂度较高,求解精确解的时间长且计算难度较大,在传统方法之外,实现对网格方程与物理方程耦合进行高效求解的突破迫在眉睫。
量子计算是一种新型计算方式,原理是用量子力学理论构建了一种计算框架。在求解一些问题时,比起最优的经典算法,量子计算有指数加速的效果。基于此,提出对求解网格方程与物理方程耦合的有效量子算法,用于针对网格方程与物理方程耦合的求解,是一个亟待解决的问题。
发明内容
本发明的目的是提供一种网格方程与物理方程耦合的量子求解方法,以解决现有技术中的不足,它能够实现利用量子算法求解网格方程与物理方程耦合的有效量子算法,降低对于非线性方程组求解的复杂度和难度,填补量子计算领域相关技术空白。
本申请的一个实施例提供了一种网格方程与物理方程耦合的量子求解方法,其特征在于,包括:
将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程;
获取初始边界条件信息,离散所述耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,其中,所述变量的位置信息根据所述非线性方程组对应的雅克比矩阵非零元位置确定;
根据所述对应离散的非线性方程组及变量的位置信息,构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,通过各所述量子线路确定所述网格位置与物理量的耦合方程的解。
如上所述的一种网格方程与物理方程耦合的量子求解方法,其中,优选的是,所述非线性方程组包括:
由所述非线性方程组的自变量构建的第一向量x和因变量构建的第二向量F(x),其中,所述
Figure BDA0003167058870000021
所述非线性方程组对应的雅克比矩阵具体为:
Figure BDA0003167058870000022
其中,i=1,2,…,N,j=1,2,…,N,N为所述非线性方程组的维数。
如上所述的一种网格方程与物理方程耦合的量子求解方法,其中,优选的是,所述构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,包括:
构建OracleOf1、OracleOf2,其中,所述OracleOf1用于提取所述非线性方程组第i个函数中自变量下标信息,所述OracleOf1的作用为:
Of1|i,j>=|i,f(i,j)>
其中,i=1,2,..,N,j=1,2,...,d,f(i,j)表示fi(x)的第j个变量的下标,d为所述雅克比矩阵的稀疏度;
所述OracleOf2用于计算所述非线性方程组第i个函数的值,所述OracleOf2的作用为:
Of2|i>|x(i)>|0>=|i>|x(i)>|fi(x(i))>
其中,i=1,2,..,N。
如上所述的一种网格方程与物理方程耦合的量子求解方法,其中,优选的是,所述通过各所述量子线路确定所述网格位置与物理量的耦合方程的解,包括:
确定所述非线性方程组的初始近似解x0和预设精度值∈,基于各所述量子线路构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态;
根据所述子量子线路的量子态更新当前近似解,确定所述非线性方程组的状态估计参数,并判断所述状态估计参数与所述预设精度值的大小关系;
若所述状态估计参数大于所述预设精度值,则返回执行:构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态的步骤,直至所述状态估计参数小于或等于所述预设精度值;
根据演化后的所述子量子线路的末量子态,确定所述非线性方程组的解,作为所述耦合方程的解。
如上所述的一种网格方程与物理方程耦合的量子求解方法,其中,优选的是,所述基于各所述量子线路构建表示所述非线性方程组近似解的量子态演化的子量子线路,包括:OracleOA1、OracleOA2和OracleOb,其中,所述OracleOA1、OracleOA2基于OracleOf1、OracleOf2构建;所述OracleOA1、OracleOA2和OracleOb用于实现:
OA1|j,l>=|j,h(j,l)>
Figure BDA0003167058870000041
Figure BDA0003167058870000042
其中,h(j,l)表示矩阵A的第j行第l个非零元的列序号,Cb为F(x)的范数,所述矩阵
Figure BDA0003167058870000043
|F′(x)|max为所述雅可比矩阵F′(x)元素的最大值。
如上所述的一种网格方程与物理方程耦合的量子求解方法,其中,优选的是,所述确定所述非线性方程组的状态估计参数,包括:
根据预先构建的用于存取量子数据的量子数据结构|MF>,确定分布存储于所述量子数据结构中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息;其中,所述量子数据结构为二叉树结构;
根据所述地址信息,通过所述量子线路将所述叶子节点存储的数据转移到下一层叶子节点上,直至在所述二叉树结构中根节点上输出所述地址信息对应的量子态数据fk(x),以确定所述状态估计参数
Figure BDA0003167058870000044
其中,n=log2N。
如上所述的一种网格方程与物理方程耦合的量子求解方法,其中,优选的是,所述方法还包括:
执行退计算操作,释放所述量子线路对应的量子计算资源。
本申请的又一实施例提供了一种网格方程与物理方程耦合的量子求解装置,所述装置包括:
耦合模块,用于将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程;
离散模块,用于获取初始边界条件信息,离散所述耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,其中,所述变量的位置信息根据所述非线性方程组对应的雅克比矩阵非零元位置确定;
确定模块,用于根据所述对应离散的非线性方程组及变量的位置信息,构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,通过各所述量子线路确定所述网格位置与物理量的耦合方程的解。
如上所述的一种网格方程与物理方程耦合的量子求解装置,其中,优选的是,所述离散模块,包括:
第一构建单元,用于由所述非线性方程组的自变量构建的第一向量x和因变量构建的第二向量F(x),其中,所述
Figure BDA0003167058870000051
所述非线性方程组对应的雅克比矩阵具体为:
Figure BDA0003167058870000052
其中,i=1,2,…,N,j=1,2,…,N,N为所述非线性方程组的维数。
如上所述的一种网格方程与物理方程耦合的量子求解装置,其中,优选的是,所述确定模块,包括:
第二构建单元,用于构建OracleOf1、OracleOf2,其中,所述OracleOf1用于提取所述非线性方程组第i个函数中自变量下标信息,所述OracleOf1的作用为:
Of1|i,j>=|i,f(i,j)>
其中,i=1,2,..,N,j=1,2,...,d,f(i,j)表示fi(x)的第j个变量的下标,d为所述雅克比矩阵的稀疏度;
所述OracleOf2用于计算所述非线性方程组第i个函数的值,所述OracleOf2的作用为:
Of2|i>|x(i)>|0>=|i>|x(i)>|fi(x(i))>
其中,i=1,2,..,N。
如上所述的一种网格方程与物理方程耦合的量子求解装置,其中,优选的是,所述确定模块,包括:
第一确定单元,用于确定所述非线性方程组的初始近似解x0和预设精度值∈,基于各所述量子线路构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态;
判断单元,用于根据所述子量子线路的量子态更新当前近似解,确定所述非线性方程组的状态估计参数,并判断所述状态估计参数与所述预设精度值的大小关系;
返回单元,用于若所述状态估计参数大于所述预设精度值,则返回执行:构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态的步骤,直至所述状态估计参数小于或等于所述预设精度值;
第二确定单元,用于根据演化后的所述子量子线路的末量子态,确定所述非线性方程组的解,作为所述耦合方程的解。
如上所述的一种网格方程与物理方程耦合的量子求解装置,其中,优选的是,所述第一确定单元,包括:
OracleOA1单元、OracleOA2单元和OracleOb单元,其中,所述OracleOA1、OracleOA2基于OracleOf1、OracleOf2构建;所述OracleOA1、OracleOA2和OracleOb用于实现:
OA1|j,l>=|j,h(j,l)>
Figure BDA0003167058870000061
Figure BDA0003167058870000062
其中,h(j,l)表示矩阵A的第j行第l个非零元的列序号,Cb为F(x)的范数,所述矩阵
Figure BDA0003167058870000063
|F′(x)|max为所述雅可比矩阵F′(x)元素的最大值。
如上所述的一种网格方程与物理方程耦合的量子求解装置,其中,优选的是,所述判断单元,包括:
存取单元,用于根据预先构建的用于存取量子数据的量子数据结构|MF>,确定分布存储于所述量子数据结构中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息;其中,所述量子数据结构为二叉树结构;
输出单元,用于根据所述地址信息,通过所述量子线路将所述叶子节点存储的数据转移到下一层叶子节点上,直至在所述二叉树结构中根节点上输出所述地址信息对应的量子态数据fk(x),以确定所述状态估计参数
Figure BDA0003167058870000071
Figure BDA0003167058870000072
其中,n=log2N。
如上所述的一种网格方程与物理方程耦合的量子求解装置,其中,优选的是,所述装置还包括:
释放模块,用于执行退计算操作,释放所述量子线路对应的量子计算资源。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
与现有技术相比,本发明首先将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程,获取初始边界条件信息,离散耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,根据对应离散的非线性方程组及变量的位置信息,构建表示变量的位置信息、非线性方程组元素信息的量子态演化的量子线路,通过各量子线路确定网格位置与物理量的耦合方程的解,利用量子的相关特性,能够实现利用量子算法求解网格方程与物理方程耦合的有效量子算法,降低对于非线性方程组求解的复杂度和难度,填补量子计算领域相关技术空白。
附图说明
图1是本发明实施例提供的一种网格方程与物理方程耦合的量子求解方法的计算机终端的硬件结构框图;
图2是本发明实施例提供的一种网格方程与物理方程耦合的量子求解方法的流程示意图;
图3为本发明实施例提供的网格方程与物理方程进行耦合的整体思路示意图;
图4是本发明实施例提供的一种关于T的量子线路示意图;
图5是本发明实施例提供的一种关于行走算子W的量子线路示意图;
图6是本发明实施例提供的一种实现量子线性求解器的量子线路示意图;
图7是本发明实施例提供的一种网格方程与物理方程耦合的量子求解装置的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种网格方程与物理方程耦合的量子求解方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图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可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如QRunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特及其演化的程序,其中与量子计算相关的量子比特、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特进行操作的线路,其组成包括量子比特、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。
一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特总数与量子程序的量子比特总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门,哈德玛门)、泡利-X门(X门)、泡利-Y门(Y门)、泡利-Z门(Z门)、RX门、RY门、RZ门等等;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算的。
本领域技术人员可以理解的是,在经典计算机中,信息的基本单元是比特,一个比特有0和1两种状态,最常见的物理实现方式是通过电平的高低来表示这两种状态。在量子计算中,信息的基本单元是量子比特,一个量子比特也有0和1两种状态,记为|0>和|1>,但它可以处于0和1两种状态的叠加态,可表示为
Figure BDA0003167058870000101
其中,a、b为表示|0>态、|1>态振幅(概率幅)的复数,这是经典比特不具备的。测量后,量子比特的状态会塌缩至一个确定的状态(本征态,此处为|0>态、|1>态),其中,塌缩至|0>的概率是|a|2,塌缩至|1>的概率是|b|2,|a|2+|b|2=1,|>为狄拉克符号。
量子态,即指量子比特的状态,其本征态在量子算法(或称量子程序)中用二进制表示。例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,从高位到低位排序为q2q1q0,该组量子比特的量子态为8个本征态的叠加态,8个本征态(确定的状态)是指:|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个本征态与量子比特位对应一致,如|000>态,000从高位到低位对应q2q1q0。简言之,量子态是各本征态组成的叠加态,当其他态的概率幅为0时,即处于其中一个确定的本征态。
参见图2,图2为本发明实施例提供的一种网格方程与物理方程耦合的量子求解方法的流程示意图,可以包括如下步骤:
S201:将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程。
计算流体动力学,简称CFD,是近代流体力学数值数学和计算机科学结合的产物,是一门具有强大生命力的边缘科学。它常以计算机为工具,应用各种离散化的数学方法,对流体力学的各类问题进行数值实验、计算机模拟和分析研究,以解决各种实际问题。
在计算流体动力学中,物理方程可以指流体力学的控制方程,无论是多么复杂的流动情况,其流动都由三个基本的物理原理控制,即质量守恒定律、动量守恒定律、能量守恒定律。这三个基本的物理原理分别对应三个控制方程,即流体力学的控制方程(连续性方程、Navier-Stokes方程、能量方程),这三个方程即是相应物理原理的数学描述。对应于不同的流动模型,这些方程又有不尽相同的形式。值得一提的是,对于流体力学本身,这些不同形式的控制方程是没有本质上区别,但是对于CFD而言,方程的形式将直接决定求解的结果,且流体力学的控制方程在数学上大多是由非线性偏微分方程耦合而成的方程组。
网格方程是指针对计算流体力学中高维度自适应网格控制方程,自适应网格是指能够自动流向流场中大梯度区域聚集的网格,它利用求解的流场特征确定网格点在物理空间中的位置(可视为一种随时间变化的网格,在流场控制的时间推进求解中,网格的调整与按时间步计算流场变量的过程同步)。在求解过程中,流场中大的梯度随时间发展,物理平面中的网格点通过移动去迎合它(即在流场求解的过程中,物理平面中实际网格点是不断在运动的)。它是计算流体力学的重要组成,且网格的构建方式和质量直接影响计算的时间和准确度。将网格方程和物理方程同时进行耦合,获得网格位置与物理量的耦合方程,可以避免网格的滞后性,但是会引进较强的非线性项,并且需要计算的维度将成倍增加。
S202:获取初始边界条件信息,离散所述耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,其中,所述变量的位置信息根据所述非线性方程组对应的雅克比矩阵非零元位置确定。
一般的,网格方程和物理方程在计算坐标系下的耦合方程为非线性偏微分方程组,而非线性偏微分方程组的解一般有多个,但是解决具体的物理问题的时候,必须从中选取所需要的解,因此,还必须知道附加条件,也就是初始边界条件。
示例性的,Burgers(博格斯)方程是应用于所有数学领域的基本偏微分方程,如流体力学、非线性声学和气体动力学。考虑一维情形无粘Burgers方程:
Figure BDA0003167058870000121
其中,初始条件为:
u(x,0)=0.5+sin(x),x∈[0,2π)
并选择一种离散方法,例如有限差分法,设计算域ΩC和物理域ΩP存在含时的坐标变换:
x=x(ξ,t),ξ(t)∈[0,1)
在计算坐标系下,未知量u可转化为:
Figure BDA0003167058870000125
将计算坐标进行均匀划分:
Figure BDA0003167058870000122
由链式法则(复合函数求导)得到:
Figure BDA0003167058870000123
其中,
Figure BDA0003167058870000124
为网格的速度,从而在计算坐标系下,上述Burgers方程可以化为:
Figure BDA0003167058870000131
在计算域下进行半离散化,得到:
Figure BDA0003167058870000132
其中,
Figure BDA0003167058870000133
对上述方程离散化可以得到①式:
Figure BDA0003167058870000134
定义网格坐标能量函数:
Figure BDA0003167058870000135
其中,Gm为给定的对称正定矩阵,可根据物理场的信息来设定,由变分原理,上述网格能量函数最小化的求解,可以转化为求解Euler-Lagrange方程:
Figure BDA0003167058870000136
考虑到网格坐标随时间变化,从而给出含时的Euler-Lagrange方程:
Figure BDA0003167058870000137
其中,Gm为Monitor函数,其在控制网格坐标过程中起着关键的作用,一般根据关注的物理量或物理量的梯度来选定。Monitor函数的简单格式设定为:
Gm=ωI
其中,ω为权重函数,得到:
Figure BDA0003167058870000138
其中,α为正的参数,考虑一维的情形,含时的Euler-Lagrange(欧拉-拉格朗日)方程为:
Figure BDA0003167058870000141
在计算坐标系下进行半离散化,从而得到:
Figure BDA0003167058870000142
对上式进行时间推进,得到:
Figure BDA0003167058870000143
其中,
Figure BDA0003167058870000144
Figure BDA0003167058870000145
可得如下②式:
Figure BDA0003167058870000146
将①式和②式联立得到物理量和网格位置耦合的非线性方程组,其中,n+1时刻的量是未知的。令
Figure BDA0003167058870000147
从而半离散化的物理方程和网格方程耦合在一起得到2N个非线性的常微分方程组:
f(t,q,qt)=0
将上述偏微分方程进行隐式时间推进,从而得到:
f(t,qn+1,(qn+1-qn)/Δt)=0
最后,运用量子牛顿法求解上述关于qn+1的非线性方程组。
参见图3,图3为本发明实施例提供的网格方程与物理方程进行耦合的整体思路示意图,即已知n时刻的物理量和网格位置信息,经过将物理方程和网格方程进行耦合得到耦合方程,并运用量子牛顿法求解n+1时刻的物理量和网格位置信息,即求解上述关于qn+1的非线性方程组。
S203:根据所述对应离散的非线性方程组及变量的位置信息,构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,通过各所述量子线路确定所述网格位置与物理量的耦合方程的解。
具体的,所述非线性方程组包括:由所述非线性方程组的自变量构建的第一向量x和因变量构建的第二向量F(x),其中,所述
Figure BDA0003167058870000151
所述非线性方程组对应的雅克比矩阵具体为:
Figure BDA0003167058870000152
其中,i=1,2,…,N,j=1,2,…,N,N为所述非线性方程组的维数。
构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,包括:
构建OracleOf1、OracleOf2,其中,所述OracleOf1用于提取所述非线性方程组第i个函数中自变量下标信息,所述OracleOf1的作用为:
Of1|i,j>=|i,f(i,j)>
其中,i=1,2,..,N,j=1,2,...,d,f(i,j)表示fi(x)的第j个变量的下标,d为所述雅克比矩阵的稀疏度;
所述OracleOf2用于计算所述非线性方程组第i个函数的值,所述OracleOf2的作用为:
Of2|i>|x(i)>|0>=|i>|x(i)>|fi(x(i))>
其中,i=1,2,..,N。
所述通过各所述量子线路确定所述网格位置与物理量的耦合方程的解,包括:
S1:确定所述非线性方程组的初始近似解x0和预设精度值∈,基于各所述量子线路构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态。
具体的,首先确定非线性方程组的初始近似解x0(作为真实解的近似)和预设精度值∈,其中∈的值可根据用户需求自定义设置,一般取10-6
构建表示非线性方程组近似解的量子态演化的子量子线路,即构建包含上述Oracle功能模块的子量子线路,并针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态。
具体的,所述基于各所述量子线路构建表示所述非线性方程组近似解的量子态演化的子量子线路,包括:OracleOA1、OracleOA2和OracleOb,其中,所述OracleOA1、OracleOA2基于OracleOf1、OracleOf2构建;所述OracleOA1、OracleOA2和OracleOb用于实现:
OA1|j,l>=|j,h(j,l)>
Figure BDA0003167058870000161
Figure BDA0003167058870000171
其中,h(j,l)表示矩阵A的第j行第l个非零元的列序号,Cb为F(x)的范数,所述矩阵
Figure BDA0003167058870000172
|F′(x)|max为所述雅可比矩阵F′(x)元素的最大值。
S2:根据所述子量子线路的量子态更新当前近似解,确定所述非线性方程组的状态估计参数,并判断所述状态估计参数与所述预设精度值的大小关系。
具体的,已经确定非线性方程组的初始近似解x0(作为真实解的近似),然后进行迭代,假设迭代到第k步,更新当前近似解得到xk,F(xk),从而根据
xk+1=xk-[F′(xk)]-1F(xk)
在此过程中,需要求解线性方程组
F′(xk)Δxk=-F(xk)
上式可以转化为
xk+1=xk+Δxk
不断迭代,直到F(xk+1)小于给定的预设精度值。
具体的,在每次迭代,需要构建线性系统
AΔx=-|b>
根据构建好的|b>、A及对应的Oracle并运用量子线性系统求解器(QuantumLinear System Solver,简记为QLSS)来求解线性系统。QLSS的输入为OracleOb、OA1和OA2,通过QLSS求解线性系统得到其归一化的解|Δx>,其中,
Figure BDA0003167058870000173
确定所述非线性方程组的状态估计参数,包括:
根据预先构建的用于存取量子数据的量子数据结构,确定分布存储于所述量子数据结构中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息;其中,所述量子数据结构为二叉树结构。
预设|MF>为量子数据,其作用是将经典数据转化为量子数据(作为将经典数据转化为量子数据的中间存储器),|MF>的数据结构和QRAM量子数据结构相似,均为二叉树结构。确定分布存储于量子数据结构|MF>中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息。具体的,|MF>量子数据中,每一个节点保存了xi和fi(x),在每个内部节点中,保存了来自下一层相关xi和fi(x)的平方和的平方根,因此根节点保存了‖x‖和‖F(x)‖。在求解非线性方程组的每次迭代过程中,更新数据结构|MF>中的叶子节点中关于x和F(x)的相关数据,然后|MF>量子数据中的内部节点也跟着自动更新。
具体的,给定一个N维的量子数据|MF>,其具有以下性质:
在量子数据|MF>中,提取xi,该过程可以表示为:
OM1|MF>|i>|0>=|MF>|i>|xi>,i=0,1,…,N-1
在量子数据|MF>中,提取fi(x),该过程可以表示为:
OM2|MF>|i>|0>=|MF>|i>|fi(x)>,i=0,1,…,N-1
在量子数据|MF>中,提取x序列在量子数据结构中的范数,该过程可以表示为:
OM3|MF>|i>|j>=|MF>|i>|j>|dijx>,i=0,1,…,n;j=0,1,…,2i-1
在量子数据|MF>中,提取F(x)序列在量子数据结构中的范数,该过程可以表示为:
OM4|MF>|i>|j>=|MF>|i>|j>|dijy>,i=0,1,…,n;j=0,1,…,2i-1
其中,OM1、OM2、OM3、OM4均为可实现特定功能的Oracle模块,dijx、dijy分别代表节点中保存的xi和fi(x),
Figure BDA0003167058870000181
Figure BDA0003167058870000182
i=0,...,n-1,j=0,...,2n-i-1,且d00x=‖x‖,d00y=‖F(x)‖。
根据所述地址信息,通过所述量子线路将所述叶子节点存储的数据转移到下一层叶子节点上,直至在所述二叉树结构中根节点上输出所述地址信息对应的量子态数据fk(x),以确定所述状态估计参数
Figure BDA0003167058870000191
其中,n=log2N,最后判断状态估计参数‖F(x)‖与预设精度值∈的大小关系。
S3:若所述状态估计参数大于所述预设精度值,则返回执行:构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态的步骤,直至所述状态估计参数小于或等于所述预设精度值。
具体的,若‖F(x)‖>∈,则返回执行步骤S1,直至状态估计参数‖F(x)‖小于或等于预设精度值∈。
具体的,假设k步迭代已经被执行,并且已更新|MF(xk)>,利用求解线性系统中的Oracle模块
Figure BDA0003167058870000192
分别将
Figure BDA0003167058870000193
输入量子线性系统求解器得到|Δxk>,运用量子态采样算法得到
Figure BDA0003167058870000194
并计算得到|Δxk>的归一化常数
Figure BDA0003167058870000199
更新|MF(xk)>到|MF(xk+1)>,最后判断状态估计参数‖F(x)‖与预设精度值∈的大小关系,此时如果||F(xk+1)||>∈,则返回执行步骤S1,继续执行k+1步的迭代过程,直至状态估计参数||F(xk+1)||≤∈。
需要说明的是,运用量子态采样算法得到
Figure BDA0003167058870000195
并计算得到|Δxk>的归一化常数
Figure BDA0003167058870000198
其中:
Figure BDA0003167058870000196
Figure BDA0003167058870000197
可以计算改变后的fi(x),并更新fi(x)。
S4:根据演化后的所述子量子线路的末量子态,确定所述非线性方程组的解,作为所述耦合方程的解。
具体的,如果‖F(x)‖<∈,停止迭代,获取达到迭代停止条件的量子数据|MF>,得到演化后的所述子量子线路的末量子态,其保存了非线性方程组的解,作为所述耦合方程的解。
在量子应用中,通过构造一种Oracle或Oracle组合,该Oracle或组合的内部原理即为本发明的方法流程。具体的,Oracle可以理解为在量子算法中完成特定功能的模块(类似黑盒),在具体问题中会有具体的实现方式。
目前,现有的量子线路构建往往只能够利用现有的单量子逻辑门、双量子逻辑门等等,通常存在以下问题:
对于功能比较复杂的量子线路,需要用到的量子比特数量会非常多,使用经典计算机进行模拟的时候会消耗巨大的内存空间,需要用到的逻辑门数量会非常多,模拟耗时会非常长。并且,一些复杂的算法难以用量子线路进行实现。
基于此,通过改用Oracle模拟的方式实现特定的复杂功能,并实现受控和转置共轭操作。用户传入Oracle的参数,可以包括:Oracle名称(用于识别Oracle的功能用途,如OA1)、量子比特位、矩阵元素等等。
这种方式的好处是,整体上将Oracle作为已知模块,无需关注其内部的实现细节,在量子应用场景例如量子线路的表示上,非常的简单明了。由于可以将经典模拟的Oracle功能模块等效成量子逻辑门,使得构建的量子线路得以简化,因此节省了运行时所需的内存空间,并加快量子算法的模拟验证。
需要说明的是,求解线性系统等价于求解系数矩阵的逆,本申请提供了一个通过算法的线性组合来求解近似矩阵的逆,运用Chebyshev(切比雪夫)多项式的线性组合和来近似矩阵的逆。
参见图4,图4为本发明实施例提供的一种关于T的量子线路示意图。本领域技术人员可以理解的是,H表示H门,OA1、OA2、M表示不同功能的Oracle,T模块表示H门及各Oracle组合的整体功能模块,T模块的功能即为将|j>变换为|Ψj>。并且,获得的输入该T模块的矩阵为N阶矩阵,构建的T模块在量子线路中可等效于量子逻辑门,其矩阵形式为:∑j∈[N]j><j|,其中,<j|为量子态左矢。
具体的,利用H门,构建叠加态:
Figure BDA0003167058870000211
OA1实现变换:
Figure BDA0003167058870000212
OA2实现变换:
Figure BDA0003167058870000213
执行由Ajl控制的M算符,即M实现变换:
Figure BDA0003167058870000214
Figure BDA0003167058870000215
其中M可以定义为:
Figure BDA0003167058870000216
再次运用OA2,将编码|Ajl>的量子比特回收,进而输出为|0>。
需要说明的是,该示意图只示出了与本申请相关的部分量子线路,图中各标识及连接关系,仅仅作为示例,并不构成对本发明的限定。
参见图5,图5为本发明实施例提供的一种关于行走算子W的量子线路示意图。本领域技术人员可以理解的是,任何一个简单的函数都可以线性近似为其他函数的线性组合,可以通过Chebyshev多项式近似矩阵的逆函数。具体如下:
Figure BDA0003167058870000217
Figure BDA0003167058870000218
Figure BDA0003167058870000219
还有
Figure BDA00031670588700002110
本申请中求逆矩阵,它满足O(‖A-1-F‖)=∈。线性组合为:
Figure BDA00031670588700002111
此处
Figure BDA0003167058870000221
b=κ2log(κ/∈),g(x)是2∈,
在Dk:=(-1,-1/κ)∪(1/κ,1)。
Figure BDA0003167058870000222
是第一类Chebyshev多项式。
量子游走:为了实现Chebyshev多项式,需要在量子行走框架中进行。
因为量子游走被执行在空间
Figure BDA0003167058870000223
中的一些态
Figure BDA0003167058870000224
上,定义一个映射
Figure BDA0003167058870000225
Figure BDA0003167058870000226
Figure BDA0003167058870000227
Figure BDA0003167058870000228
和行走算子:
Figure BDA0003167058870000229
算子S执行
Figure BDA00031670588700002210
中的乘积态的翻转操作。于是有:
Figure BDA00031670588700002211
Figure BDA00031670588700002212
是第一类Chebyshev多项式。
需要说明的是,如上述|Ψj>的形式,采用竖线与尖括号的组合描述一个量子态,表示量子态是一个矢量(称为态矢、基矢等等),|Ψj>表示右矢,<Ψj|表示左矢。
示例性的,例如图5所示,说明游走算子W的量子线路。因为
Figure BDA00031670588700002214
S可以由一群交换操作构造出来(例如一个SWAP门,图5量子比特中两个标粗X相连的符号,即表示一个SWAP门),剩下来的就是
Figure BDA00031670588700002215
为了构建
Figure BDA00031670588700002216
需要构建T的酉算符形式,定义该酉算符Tu应该满足:
Tu|j>|0>=|Ψj>
因此有:
Figure BDA0003167058870000231
其中,
Figure BDA0003167058870000232
且:K=2|0><0|-I2N
参见图6,图6为本发明实施例提供的一种实现量子线性求解器的量子线路示意图。
具体的,如图6所示的量子线路示意图中,V、T表示不同功能的Oracle,
Figure BDA0003167058870000233
表示转置共轭,T表示H门及各Oracle组合的整体功能模块T,T模块的功能即为将|j>变换为|Ψj>。并且,获得的输入该T模块的矩阵为N阶矩阵,构建的T模块在量子线路中可等效于量子逻辑门,其矩阵形式为:∑j∈[N]j><j|,其中,<j|为量子态左矢。如图6所示的量子线路可执行量子态由|b>至|A-1b>的量子态演化,具体的,运行整个量子线路并测量|j>和|anc>,当|j>和|anc>都坍塌到|0>,可以在第二个寄存器得到|A-1b>。
量子Oracle是一个黑盒表示某种量子态的转变。量子Oracle的一个典型例子是线性系统:O|x>|0>=|x>|f(x)>,此处计算f(x)用第一个量子寄存器作为输入,第二个量子寄存器作为输出。另外一个例子就是QRAM可以被视为一种Oracle。很多量子算法用到Oracle,许多量子算法都使用Oracle,但他们不关心Oracle的实现,它可以分解成量子门,也可以实现QRAM。在QPanda中,可以使用“Oracle”函数来定义。Oracle被认为是具有用户提供的名称。
需要说明的是,利用量子牛顿法求解非线性方程组,由于求解的非线性方程组的维数可能较大,需要耗费的量子计算资源则较多,因此在计算完成后,需要施行退计算,释放量子计算资源,例如量子比特等计算资源,实现量子比特的重复利用,节约计算资源。
可见,本申请通过将网格方程与物理方程耦合并离散化后转化成非线性系统的矩阵及向量信息,并将其编码到量子态,将经典的数据结构与量子领域的量子态联系起来,并执行经典的数据结构编码到量子态的演化操作,得到演化后的量子线路的量子态,其能够利用量子的叠加特性,加速复杂度较高的非线性方程的求解问题,扩展量子计算的模拟应用场景。
与现有技术相比,本发明首先将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程,获取初始边界条件信息,离散耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,根据对应离散的非线性方程组及变量的位置信息,构建表示变量的位置信息、非线性方程组元素信息的量子态演化的量子线路,通过各量子线路确定网格位置与物理量的耦合方程的解,利用量子的相关特性,能够实现利用量子算法求解网格方程与物理方程耦合的有效量子算法,降低对于非线性方程组求解的复杂度和难度,填补量子计算领域相关技术空白。
参见图7,图7为本发明实施例提供的一种网格方程与物理方程耦合的量子求解装置的结构示意图,与图2所示的流程相对应,可以包括:
耦合模块701,用于将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程;
离散模块702,用于获取初始边界条件信息,离散所述耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,其中,所述变量的位置信息根据所述非线性方程组对应的雅克比矩阵非零元位置确定;
确定模块703,用于根据所述对应离散的非线性方程组及变量的位置信息,构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,通过各所述量子线路确定所述网格位置与物理量的耦合方程的解。
具体的,所述离散模块,包括:
第一构建单元,用于由所述非线性方程组的自变量构建的第一向量x和因变量构建的第二向量F(x),其中,所述
Figure BDA0003167058870000251
所述非线性方程组对应的雅克比矩阵具体为:
Figure BDA0003167058870000252
其中,i=1,2,…,N,j=1,2,…,N,N为所述非线性方程组的维数。
具体的,所述确定模块,包括:
第二构建单元,用于构建OracleOf1、OracleOf2,其中,所述OracleOf1用于提取所述非线性方程组第i个函数中自变量下标信息,所述OracleOf1的作用为:
Of1|i,j>=|i,f(i,j)>
其中,i=1,2,..,N,j=1,2,...,d,f(i,j)表示fi(x)的第j个变量的下标,d为所述雅克比矩阵的稀疏度;
所述OracleOf2用于计算所述非线性方程组第i个函数的值,所述OracleOf2的作用为:
Of2|i>|x(i)>|0>=|i>|x(i)>|fi(x(i))>
其中,i=1,2,..,N。
具体的,所述确定模块,包括:
第一确定单元,用于确定所述非线性方程组的初始近似解x0和预设精度值∈,基于各所述量子线路构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态;
判断单元,用于根据所述子量子线路的量子态更新当前近似解,确定所述非线性方程组的状态估计参数,并判断所述状态估计参数与所述预设精度值的大小关系;
返回单元,用于若所述状态估计参数大于所述预设精度值,则返回执行:构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态的步骤,直至所述状态估计参数小于或等于所述预设精度值;
第二确定单元,用于根据演化后的所述子量子线路的末量子态,确定所述非线性方程组的解,作为所述耦合方程的解。
具体的,所述第一确定单元,包括:
OracleOA1单元、OracleOA2单元和OracleOb单元,其中,所述OracleOA1、OracleOA2基于OracleOf1、OracleOf2构建;所述OracleOA1、OracleOA2和OracleOb用于实现:
OA1|j,l>=|j,h(j,l)>
Figure BDA0003167058870000261
Figure BDA0003167058870000262
其中,h(j,l)表示矩阵A的第j行第l个非零元的列序号,Cb为F(x)的范数,所述矩阵
Figure BDA0003167058870000263
|F′(x)|max为所述雅可比矩阵F′(x)元素的最大值。
具体的,所述判断单元,包括:
存取单元,用于根据预先构建的用于存取量子数据的量子数据结构|MF>,确定分布存储于所述量子数据结构中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息;其中,所述量子数据结构为二叉树结构;
输出单元,用于根据所述地址信息,通过所述量子线路将所述叶子节点存储的数据转移到下一层叶子节点上,直至在所述二叉树结构中根节点上输出所述地址信息对应的量子态数据fk(x),以确定所述状态估计参数
Figure BDA0003167058870000264
Figure BDA0003167058870000265
其中,n=log2N。
具体的,所述装置还包括:
释放模块,用于执行退计算操作,释放所述量子线路对应的量子计算资源。
与现有技术相比,本发明首先将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程,获取初始边界条件信息,离散耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,根据对应离散的非线性方程组及变量的位置信息,构建表示变量的位置信息、非线性方程组元素信息的量子态演化的量子线路,通过各量子线路确定网格位置与物理量的耦合方程的解,利用量子的相关特性,能够实现利用量子算法求解网格方程与物理方程耦合的有效量子算法,降低对于非线性方程组求解的复杂度和难度,填补量子计算领域相关技术空白。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S201:将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程;
S202:获取初始边界条件信息,离散所述耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,其中,所述变量的位置信息根据所述非线性方程组对应的雅克比矩阵非零元位置确定;
S203:根据所述对应离散的非线性方程组及变量的位置信息,构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,通过各所述量子线路确定所述网格位置与物理量的耦合方程的解。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
与现有技术相比,本发明首先将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程,获取初始边界条件信息,离散耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,根据对应离散的非线性方程组及变量的位置信息,构建表示变量的位置信息、非线性方程组元素信息的量子态演化的量子线路,通过各量子线路确定网格位置与物理量的耦合方程的解,利用量子的相关特性,能够实现利用量子算法求解网格方程与物理方程耦合的有效量子算法,降低对于非线性方程组求解的复杂度和难度,填补量子计算领域相关技术空白。
本发明实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S201:将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程;
S202:获取初始边界条件信息,离散所述耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,其中,所述变量的位置信息根据所述非线性方程组对应的雅克比矩阵非零元位置确定;
S203:根据所述对应离散的非线性方程组及变量的位置信息,构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,通过各所述量子线路确定所述网格位置与物理量的耦合方程的解。
与现有技术相比,本发明首先将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程,获取初始边界条件信息,离散耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,根据对应离散的非线性方程组及变量的位置信息,构建表示变量的位置信息、非线性方程组元素信息的量子态演化的量子线路,通过各量子线路确定网格位置与物理量的耦合方程的解,利用量子的相关特性,能够实现利用量子算法求解网格方程与物理方程耦合的有效量子算法,降低对于非线性方程组求解的复杂度和难度,填补量子计算领域相关技术空白。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (10)

1.一种网格方程与物理方程耦合的量子求解方法,其特征在于,包括:
将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程;
获取初始边界条件信息,离散所述耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,其中,所述变量的位置信息根据所述非线性方程组对应的雅克比矩阵非零元位置确定;
根据所述对应离散的非线性方程组及变量的位置信息,构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,通过各所述量子线路确定所述网格位置与物理量的耦合方程的解。
2.根据权利要求1所述的方法,其特征在于,所述非线性方程组包括:
由所述非线性方程组的自变量构建的第一向量x和因变量构建的第二向量F(x),其中,所述
Figure FDA0003167058860000011
所述非线性方程组对应的雅克比矩阵具体为:
Figure FDA0003167058860000012
其中,i=1,2,...,N,j=1,2,...,N,N为所述非线性方程组的维数。
3.根据权利要求2所述的方法,其特征在于,所述构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,包括:
构建OracleOf1、OracleOf2,其中,所述OracleOf1用于提取所述非线性方程组第i个函数中自变量下标信息,所述OracleOf1的作用为:
Of1|i,j>=|i,f(i,j)>
其中,i=1,2,..,N,j=1,2,...,d,f(i,j)表示fi(x)的第j个变量的下标,d为所述雅克比矩阵的稀疏度;
所述OracleOf2用于计算所述非线性方程组第i个函数的值,所述OracleOf2的作用为:
Of2|i>|x(i)>|0>=|i>|x(i)>|fi(x(i))>
其中,i=1,2,..,N。
4.根据权利要求3所述的方法,其特征在于,所述通过各所述量子线路确定所述网格位置与物理量的耦合方程的解,包括:
确定所述非线性方程组的初始近似解x0和预设精度值∈,基于各所述量子线路构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态;
根据所述子量子线路的量子态更新当前近似解,确定所述非线性方程组的状态估计参数,并判断所述状态估计参数与所述预设精度值的大小关系;
若所述状态估计参数大于所述预设精度值,则返回执行:构建表示所述非线性方程组近似解的量子态演化的子量子线路,针对所述子量子线路执行量子态的演化操作,测量得到演化后的所述子量子线路的量子态的步骤,直至所述状态估计参数小于或等于所述预设精度值;
根据演化后的所述子量子线路的末量子态,确定所述非线性方程组的解,作为所述耦合方程的解。
5.根据权利要求4所述的方法,其特征在于,所述基于各所述量子线路构建表示所述非线性方程组近似解的量子态演化的子量子线路,包括:OracleOA1、OracleOA2和OracleOb,其中,所述OracleOA1、OracleOA2基于OracleOf1、OracleOf2构建;所述OracleOA1、OracleOA2和OracleOb用于实现:
OA1|j,l>=|j,H(j,l)>
Figure FDA0003167058860000021
Figure FDA0003167058860000022
其中,h(j,l)表示矩阵A的第j行第l个非零元的列序号,Cb为F(x)的范数,所述矩阵
Figure FDA0003167058860000031
|F′(x)|max为所述雅可比矩阵F′(x)元素的最大值。
6.根据权利要求4所述的方法,其特征在于,所述确定所述非线性方程组的状态估计参数,包括:
根据预先构建的用于存取量子数据的量子数据结构|MF>,确定分布存储于所述量子数据结构中第一层叶子节点的量子态及其表示的xi和fi(x)的地址信息;其中,所述量子数据结构为二叉树结构;
根据所述地址信息,通过所述量子线路将所述叶子节点存储的数据转移到下一层叶子节点上,直至在所述二叉树结构中根节点上输出所述地址信息对应的量子态数据fk(x),以确定所述状态估计参数
Figure FDA0003167058860000032
其中,n=log2N。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
执行退计算操作,释放所述量子线路对应的量子计算资源。
8.一种网格方程与物理方程耦合的量子求解装置,其特征在于,包括:
耦合模块,用于将物理方程和网格方程进行耦合,获得网格位置与物理量的耦合方程;
离散模块,用于获取初始边界条件信息,离散所述耦合方程和初始边界条件信息,得到对应离散的非线性方程组及变量的位置信息,其中,所述变量的位置信息根据所述非线性方程组对应的雅克比矩阵非零元位置确定;
确定模块,用于根据所述对应离散的非线性方程组及变量的位置信息,构建表示所述变量的位置信息、所述非线性方程组元素信息的量子态演化的量子线路,通过各所述量子线路确定所述网格位置与物理量的耦合方程的解。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
CN202110807857.4A 2021-07-16 2021-07-16 一种网格方程与物理方程耦合的量子求解方法及装置 Pending CN115618663A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110807857.4A CN115618663A (zh) 2021-07-16 2021-07-16 一种网格方程与物理方程耦合的量子求解方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110807857.4A CN115618663A (zh) 2021-07-16 2021-07-16 一种网格方程与物理方程耦合的量子求解方法及装置

Publications (1)

Publication Number Publication Date
CN115618663A true CN115618663A (zh) 2023-01-17

Family

ID=84855845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110807857.4A Pending CN115618663A (zh) 2021-07-16 2021-07-16 一种网格方程与物理方程耦合的量子求解方法及装置

Country Status (1)

Country Link
CN (1) CN115618663A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105614A1 (en) * 2000-08-02 2003-06-05 Lars Langemyr Method for assembling the finite element discretization of arbitrary weak equations, involving local or non-local multiphysics couplings
US20090138245A1 (en) * 2007-11-27 2009-05-28 Appleyard John Method and apparatus for estimating the physical state of a physical system
CN102012953A (zh) * 2010-11-04 2011-04-13 西北工业大学 Cfd/csd耦合求解非线性气动弹性仿真方法
CN110717269A (zh) * 2019-10-10 2020-01-21 北方工业大学 一种基于网格和粒子耦合的流体表面细节保护方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030105614A1 (en) * 2000-08-02 2003-06-05 Lars Langemyr Method for assembling the finite element discretization of arbitrary weak equations, involving local or non-local multiphysics couplings
US20090138245A1 (en) * 2007-11-27 2009-05-28 Appleyard John Method and apparatus for estimating the physical state of a physical system
CN102012953A (zh) * 2010-11-04 2011-04-13 西北工业大学 Cfd/csd耦合求解非线性气动弹性仿真方法
CN110717269A (zh) * 2019-10-10 2020-01-21 北方工业大学 一种基于网格和粒子耦合的流体表面细节保护方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZHAO-YUN CHEN等: ""Quantum Finite Volume Method for Computational Fluid Dynamics with Classical Input and Output"", 《ARXIV:2102.03557V1》, 6 February 2021 (2021-02-06) *
程志远;李黎;龙晓鸿;王腾飞;: "移动网格技术在计算流体动力学数值仿真中的应用", 重庆大学学报, no. 02, 15 February 2013 (2013-02-15) *

Similar Documents

Publication Publication Date Title
WO2022027916A1 (zh) 基于量子算法的计算流体动力学模拟方法、装置及设备
CN113222150B (zh) 一种量子态的变换方法及装置
CN115144934B (zh) 基于变分量子线路的气象预测方法及相关设备
WO2023093857A1 (zh) 基于量子线路求解非线性方程组的方法、装置和存储介质
CN113221475A (zh) 一种用于高精度流场分析的网格自适应方法
CN115809705A (zh) 基于量子计算的流体动力学计算系统及量子计算机
CN113222151A (zh) 一种量子态的变换方法及装置
CN114492815B (zh) 一种基于量子化学计算目标体系能量的方法、装置及介质
CN115618663A (zh) 一种网格方程与物理方程耦合的量子求解方法及装置
CN115114569A (zh) 一种基于量子线路的非线性偏微分方程求解方法及装置
CN115700578A (zh) 载流子输运仿真方法、装置、介质及电子设备
CN115809707A (zh) 量子比较运算方法、装置、电子装置及基础算术组件
CN114862079A (zh) 基于量子线路的风险值估算方法、装置、介质及电子装置
CN114969629A (zh) 一种基于量子线路的非线性方程组求解方法及装置
WO2023165500A1 (zh) 数据处理任务的处理方法、装置、存储介质及电子设备
CN114819167B (zh) 一种稀疏线性系统的稀疏近似逆量子预处理方法及装置
CN114692879B (zh) 一种基于稀疏线性系统的量子预处理方法及装置
CN115700572A (zh) 一种网格方程与物理方程迭代的量子求解方法及装置
CN116186469A (zh) 基于量子线路的非线性常微分方程组求解方法及装置
CN116738126A (zh) 一种基于计算域分解的微分方程求解方法及装置
WO2024007919A1 (zh) 基于lbm的量子流动模拟方法、装置、介质及设备
CN117690536B (zh) 基于异构并行的材料性能预测方法、装置、设备及介质
CN117669757A (zh) 一种哈密顿量的构造方法及装置
CN116976448A (zh) 一种利用变分量子线路求解线性方程组的方法及装置
WO2024046136A1 (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
CB02 Change of applicant information

Address after: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, Hefei high tech Zone, Hefei City, Anhui Province

Applicant after: Benyuan Quantum Computing Technology (Hefei) Co.,Ltd.

Address before: 230088 6th floor, E2 building, phase II, innovation industrial park, 2800 innovation Avenue, Hefei high tech Zone, Hefei City, Anhui Province

Applicant before: ORIGIN QUANTUM COMPUTING COMPANY, LIMITED, HEFEI

CB02 Change of applicant information