CN117113874A - 一种基于量子牛顿法的流体状态更新方法及相关装置 - Google Patents
一种基于量子牛顿法的流体状态更新方法及相关装置 Download PDFInfo
- Publication number
- CN117113874A CN117113874A CN202311040341.7A CN202311040341A CN117113874A CN 117113874 A CN117113874 A CN 117113874A CN 202311040341 A CN202311040341 A CN 202311040341A CN 117113874 A CN117113874 A CN 117113874A
- Authority
- CN
- China
- Prior art keywords
- state
- quantum
- optimized
- value
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 148
- 239000012530 fluid Substances 0.000 title claims abstract description 63
- 230000006870 function Effects 0.000 claims description 140
- 239000011159 matrix material Substances 0.000 claims description 50
- 238000004422 calculation algorithm Methods 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 34
- 238000004088 simulation Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004587 chromatography analysis Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 20
- 239000002096 quantum dot Substances 0.000 description 17
- 230000000694 effects Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000010354 integration Effects 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000001568 sexual effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003921 oil Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 230000005610 quantum mechanics Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
- G06F17/12—Simultaneous equations, e.g. systems of linear equations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Operations Research (AREA)
- Fluid Mechanics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于量子牛顿法的流体状态更新方法及相关装置,应用于数据同化技术领域,方法包括:对待优化状态的三维变分数据同化的目标函数进行求导,得到目标函数的梯度为零时,待优化状态的非线性方程;基于量子牛顿法将非线性方程转化为迭代步对应的线性方程组,第一迭代步对应的线性方程组中的待优化状态的值为预设初始解;构建求解线性方程组的量子线路,运行量子线路得到状态增量,并将待优化状态的值更新为目标和值;判断目标函数的梯度在目标和值处是否收敛,若收敛,则停止更新待优化状态的值。基于量子牛顿法,通过有限次迭代即可将高维数据进行高精度的数据同化,大大降低了时间复杂度,有效地提高了高维数据的数据同化效率。
Description
技术领域
本发明属于数据同化技术领域,特别是一种基于量子牛顿法的流体状态更新方法及相关装置。
背景技术
数据同化是指将一个***的已有知识与该***的观测资料相融合,这种融合的方法即为数据同化方法。数据同化的应用领域非常广泛,如天气预报、石油开采、交通管制、图像处理、疫情预测等。计算流体动力学是近代流体动力学、数值数学和计算机科学结合的产物,它从计算方法出发,利用电子计算机的计算能力,应用各种离散化的数学方法,对流体力学的各类问题进行求解。
例如,实际天气预报过程中包含两个核心过程,即模型计算过程和数据同化过程。欧洲中期天气预报中心的Dee等人对再分析数据集ERA-Interim评估后认为,过去30年间天气预报效果的改进有75%来源于资料同化技术的发展,足见数据同化技术对于天气预报的重要性。
在计算流体动力学领域中,进行数据同化处理的通常是高维数据,从而经典计算机在进行三维变分数据同化时,计算资源消耗巨大,而且同化效率较低。而量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置,其具有相对经典计算机更高效的处理数学问题的能力,因此使用量子计算加速数据同化过程具有重要的研究和应用价值。
发明内容
本发明的目的是提供一种基于量子牛顿法的流体状态更新方法及相关装置,从而通过量子计算的指数级加速效果,提高高维数据的数据同化效率。
本发明的一个实施例提供了一种基于量子牛顿法的流体状态更新方法,所述方法包括:
对待优化状态的三维变分数据同化的目标函数进行求导,得到所述目标函数的梯度为零时,所述待优化状态的非线性方程,所述待优化状态为真实流体***的仿真模型在初始时刻的状态,所述目标函数表示所述待优化状态与所述真实流体***在所述初始时刻的真实状态之间的距离;
基于量子牛顿法将所述非线性方程转化为迭代步对应的线性方程组,所述线性方程组中的线性方程数量等于所述待优化状态的维度,第一迭代步对应的线性方程组中的所述待优化状态的值为预设初始解;
构建求解所述线性方程组的量子线路,运行所述量子线路得到状态增量,并将所述待优化状态的值更新为目标和值,所述目标和值为该迭代步对应的线性方程组中的所述待优化状态的值与所述状态增量之和;
判断所述目标函数的梯度在所述目标和值处是否收敛,若收敛,则停止更新所述待优化状态的值。
可选的,所述方法还包括:
若不收敛,则返回执行所述基于量子牛顿法将所述非线性方程转化为迭代步对应的线性方程组的步骤,直至所述目标函数的梯度在所述目标和值处收敛。
可选的,所述判断所述目标函数的梯度在所述目标和值处是否收敛,包括:
计算所述目标函数的梯度在所述目标和值处的函数值,并比较所述函数值的范数与预设计算精度的大小关系;
若所述函数值的范数不大于所述预设计算精度,确定所述目标函数的梯度在所述目标和值处收敛;
若所述函数值的范数大于所述预设计算精度,确定所述目标函数的梯度在所述目标和值处不收敛。
可选的,所述量子线路包括第一子量子线路、第二子量子线路、第三子量子线路和第四子量子线路,其中:
所述第一子量子线路用于制备所述线性方程组的残差项的量子态;
所述第二子量子线路用于制备所述线性方程组的系数矩阵的量子态;
所述第三子量子线路用于执行量子线性算法,将所述残差项的量子态和所述系数矩阵的量子态进行演化,得到所述状态增量的量子态;
所述第四子量子线路用于执行量子态层析算法,将所述状态增量的量子态转化为所述状态增量的经典数据。
可选的,所述待优化状态的数据存储于量子随机访问存储器QRAM中,所述QRAM的数据结构为二叉树结构且包括n层子树节点和1层树叶节点,其中:
每一树叶节点用于分别存储所述待优化状态的一个维度数据,和,该维度数据的所述目标函数的梯度值;
每一子树节点用于分别存储该层子树节点以下的所有所述维度数据的范数,和,该层子树节点以下的所有所述梯度值的范数,所述子树节点的总层数n满足:n=[logN],N为所述待优化状态的总维度数。
可选的,所述线性方程组的残差项的量子态|b>满足:
所述线性方程组的系数矩阵的量子态|A>满足:
其中,F(x)为所述目标函数的梯度函数,‖F(x)‖2为F(x)在所述数据结构中的范数,F′(x)为F(x)的雅各比矩阵,具体形式为:
F′(x)中的元素通过如下的有限差分法计算得到:
i表示所述待优化状态的数据维度,j表示所述系数矩阵的行标签,k表示所述系数矩阵的列标签,j,k,i∈[0,N-1]。
可选的,在所述构建求解所述线性方程组的量子线路之前,所述方法还包括:
查询所述QRAM的数据结构,基于所述树叶节点和所述子树节点存储的数据构造所述第一子量子线路中的受控门Ob,和所述第二子量子线路中的量子逻辑门OA1、量子逻辑门OA2,其中:
所述受控门Ob用于编码所述线性方程组的残差项的量子态
所述量子逻辑门OA1用于编码所述线性方程组的系数矩阵中的非零元素在所述系数矩阵中的位置信息的量子态|j,k>;
所述量子逻辑门OA2用于编码所述线性方程组的系数矩阵中的非零元素的量子态
可选的,所述将所述待优化状态的值更新为目标和值包括:
针对每一树叶节点,基于所述目标和值更新该树叶节点存储的所述待优化状态的一个维度数据,和,更新该维度数据的所述目标函数的梯度值;
针对每一子树节点,计算该层子树节点以下的所有所述维度数据的平方和的平方根,作为所述维度数据的范数,和,计算该层子树节点以下的所有所述梯度值的平方和的平方根,作为所述梯度值的范数。
本发明的又一实施例提供了一种基于量子牛顿法的流体状态更新装置,所述装置包括:
梯度计算模块:用于对待优化状态的三维变分数据同化的目标函数进行求导,得到所述目标函数的梯度为零时,所述待优化状态的非线性方程,所述待优化状态为真实流体***的仿真模型在初始时刻的状态,所述目标函数表示所述待优化状态与所述真实流体***在所述初始时刻的真实状态之间的距离;
线性化模块,用于基于量子牛顿法将所述非线性方程转化为迭代步对应的线性方程组,所述线性方程组中的线性方程数量等于所述待优化状态的维度,第一迭代步对应的线性方程组中的所述待优化状态的值为预设初始解;
量子计算模块,用于构建求解所述线性方程组的量子线路,运行所述量子线路得到状态增量,并将所述待优化状态的值更新为目标和值,所述目标和值为该迭代步对应的线性方程组中的所述待优化状态的值与所述状态增量之和;
收敛判断模块,用于判断所述目标函数的梯度在所述目标和值处是否收敛,若收敛,则停止更新所述待优化状态的值。
本发明的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本发明的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
与现有技术相比,本发明提供的基于量子牛顿法的流体状态更新方法,对待优化状态的三维变分数据同化的目标函数进行求导,得到目标函数的梯度为零时,待优化状态的非线性方程,待优化状态为真实流体***的仿真模型在初始时刻的状态,目标函数表示待优化状态与真实流体***在初始时刻的真实状态之间的距离;基于量子牛顿法将非线性方程转化为迭代步对应的线性方程组,线性方程组中的线性方程数量等于待优化状态的维度,第一迭代步对应的线性方程组中的待优化状态的值为预设初始解;构建求解线性方程组的量子线路,运行量子线路得到状态增量,并将待优化状态的值更新为目标和值;判断目标函数的梯度在目标和值处是否收敛,目标和值为该迭代步对应的线性方程组中的待优化状态的值与状态增量之和;若收敛,则停止更新待优化状态的值。
通过将仿真模型初始状态的优化转化为每一迭代步中状态增量的线性方程组的求解,随着迭代次数的增加,可以渐渐逼近初始时刻的真实状态。从而使用量子牛顿法处理高维数据时,通过有限次迭代即可完成高精度的数据同化,大大降低了时间复杂度,基于量子计算近乎指数级的加速效果,有效地提高了高维数据的数据同化效率。并且即使在先验估计得到的背景场不准确时,也可以通过迭代优化的方式计算得到初始状态,具有十分广泛的使用范围。
附图说明
图1为本发明实施例提供的一种基于量子牛顿法的流体状态更新***的网络框图;
图2为本发明实施例提供的一种基于量子牛顿法的流体状态更新方法的流程示意图;
图3为本发明实施例提供的一种量子随机访问存储器QRAM的数据结构的示意图;
图4为本发明实施例提供的一种基于量子牛顿法的流体状态更新装置的结构示意图;
图5为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
图1是本发明实施例提供的一种基于量子牛顿法的流体状态更新***的网络框图。基于量子牛顿法的流体状态更新***可以包括网络110、服务器120、无线设备130、客户机140、存储150、经典计算单元160、量子计算单元170,还可以包括未示出的附加存储器、经典处理器、量子处理器和其他设备。
网络110是用于为基于量子牛顿法的流体状态更新***内连接在一起的各种设备和计算机之间提供通信链路的介质,包括但不限于互联网、企业内部网、局域网、移动通信网及其组合,连接方式可以采用有线、无线通信链路或光纤电缆等。
服务器120、无线设备130和客户机140是常规的数据处理***,可包含数据和具有执行常规计算过程的应用程序或软件工具。客户机140可以是个人计算机或网络计算机,故数据也可以是服务器120提供的。无线设备130可以是智能手机、平板、笔记本电脑、智能可穿戴设备等。存储单元150可以包括数据库151,其可以被配置为存储量子比特参数、量子逻辑门参数、量子线路、量子程序等数据。
经典计算单元160(量子计算单元170)可以包括用于处理经典数据(量子数据)的经典处理器161(量子处理器171)和用于存储经典数据(量子数据)的存储器162(存储器172),经典数据(量子数据)可以是引导文件、操作***镜像、以及应用程序163(应用程序173),应用程序163(应用程序173)可以用于实现根据本发明实施例提供的基于量子牛顿法的流体状态更新方法编译的量子算法。
经典计算单元160(量子计算单元170)中存储或产生的任何数据或信息也可以被配置成以类似的方式在另一个经典(量子)处理***中存储或产生,同样其执行的任何应用程序也可以被配置成以类似的方式在另一个经典(量子)处理***中执行。
需要说明的是,真正的量子计算机是混合结构的,它至少包括图1中的两大部分:经典计算单元160,负责执行经典计算与控制;量子计算单元170,负责运行量子程序进而实现量子计算。
上述经典计算单元160和量子计算单元170可以是集成在一台设备中,也可以是分布在两台不同的设备之中。例如包括经典计算单元160的第一设备运行经典计算机操作***,其上提供了量子应用程序开发工具和服务,以及还提供了量子应用程序所需的存储和网络服务。用户通过其上的量子应用程序开发工具和服务开发量子程序,以及通过其上的网络服务将量子程序发送至包括量子计算单元170的第二设备。第二设备运行量子计算机操作***,通过量子计算机操作***对该量子程序的代码进行解析编译成量子处理器170可以识别和执行的指令,量子处理器170根据该指令实现量子程序对应的量子算法。
经典计算单元160中的经典处理器161的计算单元是基于硅芯片的CMOS管,这种计算单元不受时间和相干性的限制,即,这种计算单元是不受使用时长限制,随时可用。此外,在硅芯片中,这种计算单元的数量也是充足的,目前一个经典处理器161中的计算单元的数量是成千上万的,计算单元数量的充足且CMOS管可选择的计算逻辑是固定的,例如:与逻辑。借助CMOS管运算时,通过大量的CMOS管结合有限的逻辑功能,以实现运算效果。
量子计算单元170中量子处理器171的基本计算单元是量子比特,量子比特的输入受相干性的限制,也受相干时间的限制,即,量子比特是受使用时长限制的,并不是随时可用的。在量子比特的可用使用时长内充分使用量子比特是量子计算的关键性难题。此外,量子计算机中量子比特的数量是量子计算机性能的代表指标之一,每个量子比特通过按需配置的逻辑功能实现计算功能,鉴于量子比特数量受限,而量子计算领域的逻辑功能是多样化的,例如:哈德玛门(Hadamard门,H门)、泡利-X门(X门)、泡利-Y门(Y门)泡利-Z门(Z门)、X门、RY门、RZ门、CNOT门、CR门、iSWAP门、Toffoli门等等。量子计算时,需借助有限的量子比特结合多样的逻辑功能组合实现运算效果。
基于这些不同,经典逻辑功能作用在CMOS管的设计和量子逻辑功能作用在量子比特的设计是显著和本质不同的;经典逻辑功能作用在CMOS管的设计是不需要考虑CMOS管的个体性,如CMOS管在硅芯片中的表示是第几个CMOS管的个体标识、位置、每个CMOS管的可使用时长,故而经典逻辑功能组成的经典算法只表达算法的运算关系,不表达算法对CMOS管个体的依赖。
而量子逻辑功能作用在量子比特需要考虑量子比特的个体性,如量子比特在量子芯片中是第几个量子比特的个体标识、位置以及和周围量子比特的关系、以及每个量子比特可使用时长。故而量子逻辑功能组成的量子算法不仅表达算法的运算关系,更表达算法对量子比特个体的依赖。
量子芯片只包括量子比特和对量子比特进行调控的通道,量子逻辑门通过模拟信号实现,不同组合的模拟信号通过对量子比特进行调控的通道施加在量子比特上,从而实现不同功能的量子电路,完成对数据的处理,所以,量子逻辑功能作用在量子比特的设计(包括量子比特使用与否的设计以及每个量子比特使用效率的设计)是提升量子计算机的运算性能的关键,且需要进行特殊的设计,这也是基于量子逻辑功能实现的量子算法的独特性,是和基于经典逻辑功能实现的经典算法的本质和显著不同。而上述针对量子比特的设计是普通计算设备所不需要考虑的、也不需要面对的技术问题。
本发明提出了一种基于量子牛顿法的流体状态更新方法及相关装置,旨在通过量子计算的指数级加速效果,提高高维数据的数据同化效率。广义来说,数据同化是指将一个***的已有知识与该***的观测资料相融合,例如在天气预报业务中,为了有效地完成预报,必须得到大气状态变量在离散格点上的初值。此时数据同化的目的就是利用所有可用知识得到模式预报的初始场。为便于阅读和理解,这里首先对数据同化领域和量子计算领域的部分专业术语及其数学表示符号进行解释。
真实场:指待研究***的真实数据,例如,在天气预报中指真实的大气状态。受限于观测技术、***本身复杂度的影响,可以认为真实场是一组无法被准确获取的无穷维度数据。本实施例中若无特殊说明,使用xt表示真实场。
观测场:指利用卫星、雷达等工具对真实场观测后得到的观测数据,可以认为观测场是一组低维数据,随着观测技术的提升,观测数据将逼近对应的真实数据。本实施例中若无特殊说明,使用y表示观测场。
模式场:指对待研究***进行模拟时的仿真数据,例如,在天气预报业务中就指预报数据,模式场是一组有限维度的高维数据。本实施例中若无特殊说明,使用xm表示模式场。
分析场:指经过数据同化后的数据结果,其维度与模式场一致,可以认为是对模式场的修正。本实施例中若无特殊说明,使用xa表示分析场。
背景场:是数据同化方法引入的概念,可以认为背景场是分析场的先验估计,其维度与分析场一致。本实施例中若无特殊说明,使用xb表示背景场,引入背景场后实际的数据同化范围将从分析空间xa转变为变量空间(xa-xb)。
模式算子:指对待研究***进行数值模拟时,两个相邻时间步之间***状态的演化算子,模式算子是一个非线性算子。本实施例中若无特殊说明,使用表示模式算子。若待研究***具有马尔科夫性质,则有/>成立,其中,下标n表示离散的时刻。
观测算子:观测算子是指从模式场到观测场的映射,是一个非线性算子,通常由两部分组成,一部分是模式计算中网格点到观测点的时空插值算子,另一部分是模式变量到观测变量的转换算子。本实施例中不对观测算子的具体形式进行研究和处理,若无特殊说明,使用表示观测算子。
模式误差和模式误差协方差矩阵:可以定义数值模式与真实***演化之间存在的误差为模式误差,进一步可定义模式误差协方差矩阵上横线表示求期望,下同。
观测误差和观测误差协方差矩阵:可以定义观测值与真实值之间存在的误差为观测误差,进一步可定义观测误差协方差矩阵/>
背景误差和背景误差协方差矩阵:可以定义背景场数据与相应的真实值之间存在的误差∈b=xb-xt为背景误差,进一步可定义背景误差协方差矩阵
QRAM:Quantum Random Access Memory,量子随机访问存储器,一种用于快速基矢编码的器件。
QLSS:Quantum Linear System Solver,量子线性***求解器。
参见图2,图2为本发明实施例提供的一种基于量子牛顿法的流体状态更新方法,所述方法包括:
步骤201:对待优化状态的三维变分数据同化的目标函数进行求导,得到所述目标函数的梯度为零时,所述待优化状态的非线性方程,所述待优化状态为真实流体***的仿真模型在初始时刻的状态,所述目标函数表示所述待优化状态与所述真实流体***在所述初始时刻的真实状态之间的距离。
具体的,待优化状态为真实流体***的仿真模型在初始时刻的状态,也即为数据同化的目标结果:分析场。那么可以将待优化状态从初始时刻到之后的任一离散时刻进行模式积分,得到模式场从初始时刻到该离散时刻的时间段称为同化窗口[1,K],在数据同化领域中,同化窗口K>1时的变分数据同化被称为四维变分数据同化,相应的,K=1时的变分数据同化被称为三维变分数据同化。在同化窗口[1,K]内,可以将模式场映射到观测场,即可以在该离散时刻观测真实流体***,获得相对应的观测场yk,还可以引入人工对该待优化状态的先验估计数据,即背景场xb。
进而可以基于模式场观测场yk以及背景场xb建立方程,也即通过变分法获得三维变分数据同化的目标函数,该目标函数J可以表示待优化状态与真实流体***在初始时刻的真实状态之间的距离,从而将数据同化问题转化为求目标函数J的极值问题。当目标函数J取极小值时,待更新状态与真实流体***在初始时刻的真实状态之间的距离最小,数据同化的效果也就最好。
本发明实施例提供的技术方案中,模式场为仿真模型在任一离散时刻的仿真数据,观测场为在该离散时刻观测真实流体***得到的观测数据;模式算子为从初始时刻到该离散时刻,仿真模型的状态的演化算子;观测算子为在该离散时刻观测真实流体***时,模式场到观测场的映射,那么上述三维变分数据同化的目标函数J可以通过以下的步骤计算得到:
步骤301:基于所述待优化状态和所述模式算子进行模式积分,得到所述仿真模型在所述离散时刻的模式场。
本领域技术人员可以理解的是,本发明实施例提供的方案是通过量子计算的方式对三维变分数据同化进行加速,即在本实施例中,K=1,也即在同化窗口[1,K]内仅通过模式积分得到一个离散时刻的模式场但为了对数据同化过程的原理和目标函数的建立过程进行更清楚且具有普遍性的说明,下文中的部分公式可能涉及K>1时的多个模式场及其对应的观测场,本领域技术人员应当可以清楚地理解其与本发明实施例提供的技术方案的区别。
具体的,在同化窗口[1,K]内,可以假设真实流体***的仿真模型在初始时刻的待优化状态,即分析场为xa,利用模式算子可以在同化窗口[1,K]内不断进行模式积分,得到各个离散时刻的模式场分别为/> 从而可以得到由分析场和各模式场组成的***状态轨迹/>
步骤302:基于所述模式场和所述观测算子观测所述真实流体***,得到所述离散时刻所述真实流体***的观测场。
具体的,可以将上述模式场映射到观测场yK内,即在同化窗口[1,K]内,通过观测算子/>分别在各个离散时刻观测真实流体***,得到对应的观测场,从而可以得到观测轨迹y=[y1,…,yk,…yK]。
步骤303:对所述待优化状态进行先验估计,得到所述仿真模型在所述初始时刻的背景场。
具体的,可以对真实流体***的仿真模型在初始时刻的待优化状态进行先验估计,得到仿真模型在初始时刻的背景场xb,本领域技术人员所知的是,背景场xb估计的准确性将影响后续数据同化的精度和计算量。
并且,在一种实施方式中,后续进行数据同化时,可以使用量子牛顿法将目标函数J的梯度函数转化为迭代步对应的线性方程组,其中,可以将第一迭代步对应的线性方程组中的待优化状态的值设置为背景场xb,从而在每一迭代步中对该背景场xb持续进行优化,使其逐渐接近真实流体***在初始时刻的真实状态。
所以在对待优化状态进行先验估计时,可以通过真实流体***的已有知识和之前数据同化的同化结果等多种类型的数据,尽可能地提高背景场xb与待求解的分析场xa的相似程度。例如,可以获取该仿真模型在初始时刻之前某一时刻的***状态,并基于该***状态和模式算子进行模式积分,得到仿真模型在初始时刻的背景场。
举例来说,在天气预报的具体场景中,可以将每12个小时设置为一次数据同化的同化窗口,那么在本次数据同化过程(例如今日12时至24时的同化窗口)中,为了得到初始时刻12时的背景场,可以先获取前一次数据同化得到的今日0时的分析场,作为上述初始时刻之前某一时刻的***状态。由于0时的分析场是通过前一次数据同化(即今日0时至12时的同化窗口)得到的,既包含了已知的天气预报模型的模型演化知识,又利用了0时至12时内的真实的大气状态数据对其进行了优化,从而可以对近期的大气状态进行较为准确的模拟。然后,可以将今日0时的分析场在今日0时至12时内,使用模式算子进行模式积分,得到初始时刻12时的背景场。该背景场应当与本次数据同化的目标结果较为接近,从而可以减小数据同化过程的计算量,并提高数据同化的精度。
步骤304:基于所述模式场、所述观测场和所述背景场,计算所述观测场已知时,所述待优化状态和所述模式场的后验概率。
具体的,在数据同化的贝叶斯描述中,观测已经发生的前提下(即存在观测轨迹y时),出现上述***状态轨迹x,即待优化状态xa和模式场的后验概率可以为:
数据同化的本质就是对***状态轨迹x中的待优化状态xa进行优化,从而使得在背景场xb和观测轨迹y已确定时,出现***状态轨迹x的概率最大。
可以认为,本发明实施例中的真实流体***的仿真模型具有一阶马尔科夫性质,从而先验概率p(x)可写为:
并且,不同离散时刻的观测场可以是独立的,而观测仅依赖对应的离散时刻的模式场,则似然概率p(y|x)可写为:
进一步的,基于观测独立假设,即不同离散时刻的观测行为是相互独立的,先验概率p(y)可以写为:
p(y)=p(yK)…p(y1)
由于背景场xb是对待优化状态xa的先验估计,不存在观测的影响,因此背景场xb仅与待优化状态xa有关。
将上述先验概率p(x)、先验概率p(y)和似然概率p(y|x)带入上述待优化状态和模式场的后验概率的计算公式中,可以得到后验概率p(x|xb,y)为:
步骤305:对所述后验概率取负对数,计算得到所述待优化状态的三维变分数据同化的目标函数。
具体的,对上述后验概率p(x|xb,y)取负对数,可以得到变分方法(三维数据变分方法或四维数据变分方法)的目标函数如下:
J(x)=Jb+Jo+Jm+c
其中,c表示常数项,Jm则与模式场误差∈m有关,在强约束变分数据同化的条件中下,一般同化窗口范围不太大,此时可以认为模式计算误差很小,有Jm=0。
Jb与背景场误差相关,数据同化中一般假定误差是高斯无偏的,此时Jb可以写为:
其中,B是背景场xb的误差协方差矩阵。
Jo则与观测场误差有关,同样基于高斯无偏假设,Jo可以写为:
其中,Rk是各个离散时刻的观测误差协方差矩阵。
基于上述公式,可以计算得到:对于三维变分数据同化,其目标函数为:
由于该目标函数为表示待优化状态与真实流体***在初始时刻的真实状态之间的距离的非线性方程,根据上述分析可知,当x=xa,即待优化的***初始状态为分析场xa时,目标函数J(x)达到极小值,此时待优化状态与真实流体***在初始时刻的真实状态之间的距离最小,三维变分数据同化的效果也就越好。
由于上述三维变分数据同化的目标函数中的误差协方差矩阵是正定的,因此目标函数J(x)一定存在极小值。求极小值等效于求解首先需要对待优化状态的三维变分数据同化的目标函数进行求导。
对于上述目标函数J(x)中的非线性项有:
因此对目标函数J(x)求导时,对非线性项有:
其中,Jc(x)是非线性函数对x的雅各比矩阵,其值与x的具体值有关,但其形式与x的值无关。因此目标函数J(x)求导得到的梯度函数/>可以写作:
通过上述分析可以得出,上式中的B,R,/>的具体形式均与x的具体取值无关,因此在上式中的背景场xb和观测场y的值都确定时,梯度函数/>可以由一个非线性函数唯一地表示,设该非线性函数为F(x),即/>上述求解目标函数的梯度为零,即为求解该待优化状态的非线性方程F(x)=0。/>
步骤202:基于量子牛顿法将所述非线性方程转化为迭代步对应的线性方程组,所述线性方程组中的线性方程数量等于所述待优化状态的维度,第一迭代步对应的线性方程组中的所述待优化状态的值为预设初始解。
可以理解的是,在三维变分数据同化的计算过程中,可以使用量子牛顿法求解非线性方程F(x)=0,牛顿法作为一种高效的迭代类求解方法,其算法核心可以由以下迭代关系描述:
其中,xs,xs+1分别表示第s,s+1个迭代步的计算结果,F′表示函数F的雅5各比矩阵,其具体形式可以为:
通过上述公式可以看出,若已给定s=0步上的初始解,在每一步求解过程中都会得到一组解xs,对于每个求解步得到的解xs,可以将其当作数据同化中的更新后的分析场,从而通过模式积分得到更新后的模式场,并对目标函数进行进一步的更新,在下一迭代步中可以计算得到一组新的解xs+1,并以此循环迭代。
由于目标函数J(x)中的误差协方差矩阵是正定的,因此使用量子牛顿法求解目标二次型的极小值问题总是能够收敛,牛顿法可以保证有lims→+∞xs→xa,即随着迭代次数增加,每个求解步得到的解将逼近真正的分析场,因此本发明对背景场的预估准确度没有严格的要求。
具体的,可以基于量子牛顿法将非线性方程F(x)=0转化为迭代步对应的线性方程组,目标函数的梯度的非线性方程F(x)可以写作:
其中,N表示参与数据同化的数据总量,也即待优化状态的总维度数。
那么在每一迭代步中,可以将非线性方程F(x)=0转化为该迭代步对应的线性方程组AsΔxs=bs,该线性方程组中的线性方程数量为待优化状态的总维度数N,其中Δxs为状态增量,即xs+1=xs+Δxs。因此,为了在每一迭代步中计算得到状态增量Δxs,进而得到数据同化中更新后的分析场,需要预先设置第一迭代步s=0时的待优化状态的值x0。
具体的,可以设置第一迭代步对应的线性方程组中的待优化状态的值为预设初始解,作为本发明实施例的一种实施方式,上述预设初始解可以为所述仿真模型在初始时刻的背景场,所述背景场为所述待优化状态的先验估计数据。
由于背景场是对待优化状态进行先验估计得到的,与待优化状态具有较高的相似程度,那么在数据同化过程中,状态增量的计算空间也就比较小,相应的计算量也就越小,这有利于提高计算精度和计算效率,并节约计算资源。
步骤203:构建求解所述线性方程组的量子线路,运行所述量子线路得到状态增量,并将所述待优化状态的值更新为目标和值,所述目标和值为该迭代步对应的线性方程组中的所述待优化状态的值与所述状态增量之和。
在该步骤中,需要通过量子计算的方式求解线性方程组AsΔxs=bs,也即构建求解该线性方程组的量子线路,并运行该量子线路得到状态增量。为了充分发挥量子计算的并行计算能力,首先可以利用QRAM(Quantum Random Access Memory,量子随机访问存储器)对量子计算需要使用的量子态进行快速编码。
QRAM是一种用于快速基矢编码的器件,例如,第一迭代步对应的线性方程组中的待优化状态的值为预设初始解,那么可以将该预设初始解的各个维度数据预先存储在QRAM中,从而可以在第一迭代步中,利用QRAM快速完成量子态编码,并运行构建完成的量子线路得到状态增量,进而得到数据同化中更新后的分析场,再将已存储的预设初始解的各个维度数据更新为上述更新后的分析场的各个维度数据,进而可以完成基于量子牛顿法的三维数据同化的循环迭代过程。
作为本发明实施例的一种实施方式,上述待优化状态的数据可以存储于量子随机访问存储器QRAM中,上述QRAM的数据结构可以为二叉树结构且可以包括n层子树节点和1层树叶节点,其中:
每一树叶节点用于分别存储所述待优化状态的一个维度数据,和,该维度数据的所述目标函数的梯度值;
每一子树节点用于分别存储该层子树节点以下的所有所述维度数据的范数,和,该层子树节点以下的所有所述梯度值的范数,所述子树节点的总层数n满足:n=[logN],N为所述待优化状态的总维度数。
参见图3,图3为本发明实施例提供的一种量子随机访问存储器QRAM的数据结构的示意图。其中,存储的待优化状态的总维度数N为4,[]表示向上取整,那么子树节点的总层数即为n=[logN]=2,该数据结构包括2层子树节点和1层树叶节点。其中,每一树叶节点可以分别存储两种类型的数据,第一种类型的数据为待优化状态的一个维度数据xk,例如图3中的待优化状态的总维度数N为4,那么树叶节点可以存储待优化状态的4个维度数据,分别为x0,x1,x2,x3。第二种类型的数据为每一维度数据对应的目标函数的梯度值,分别为维度数据x0,x1,x2,x3对应的f0(x),f1(x),f2(x),f3(x)。
相应的,每一子树节点也可以分别存储两种类型的数据,第一种为该层子树节点以下的所有维度数据的范数,例如,可以写作:
第二种为该层子树节点以下的所有梯度值的范数,例如,可以写作:
其中,i,j表示第i层第j个子树结点,n表示子树节点的总层数,因此,在这种二叉树结构的数据结构中,根节点中的寄存器d00x和d00y可以分别存储待优化状态的范数‖x‖和目标函数的梯度的范数‖F(x)‖。并且可以确定的是,在这种数据结构下,可以在O(logN)时间复杂度内,通过OM1,OM2,OM3,OM4四个Oracle实现如下的量子态快速编码过程:
OM1|k>|0>=|k>|xk>
OM2|k>|0>=|k>|fk(x)>
OM3|i>|j>|0>=|i>|j>|dijx>
OM4|i>|j>|0>=|i>|j>|dijy>
其中,有整数k∈[0,N-1],i∈[0,n],j∈[0,2i-1]。
在通过量子计算求解大规模的线性方程组时,需要将线性方程组的系数矩阵和残差项编码为量子态,再通过量子线性算法对其进行纠缠演化,从而得到线性方程组的解的量子态,最终通过量子态层析算法将解的量子态转化为经典形式,得到经典解。
具体的,在每一迭代步中,基于上述二叉树结构的QRAM存储的数据和OM1,OM2,OM3,OM4四个Oracle,可以完成线性方程组AsΔxs=bs中的系数矩阵As和残差项bs的量子态的快速编码,进而依次执行量子线性算法和量子态层析算法,最终计算得到状态增量的经典数据。
那么,可以基于上述求解思路构建求解该线性方程组的量子线路。作为本发明实施例的一种实施方式,上述量子线路可以包括第一子量子线路、第二子量子线路、第三子量子线路和第四子量子线路,其中:
所述第一子量子线路用于制备所述线性方程组的残差项的量子态。
所述第二子量子线路用于制备所述线性方程组的系数矩阵的量子态。
作为本发明实施例的一种实施方式,在上述构建求解所述线性方程组的量子线路之前,所述方法还可以包括:
查询所述QRAM的数据结构,基于所述树叶节点和所述子树节点存储的数据构造所述第一子量子线路中的受控门Ob,和所述第二子量子线路中的量子逻辑门OA1、量子逻辑门OA2,其中:
所述受控门Ob用于编码所述线性方程组的残差项的量子态
具体的,在不同的迭代步中,由于待更新状态的值已经进行了更新,相应的,需要求解的线性方程组也发生了变化,那么在构建求解线性方程组的量子线路之前,就需要基于QRAM的数据结构存储的数据,对子量子线路中的受控门Ob、量子逻辑门OA1和量子逻辑门OA2分别进行简单的构造,以制备变化后的线性方程组的残差项和系数矩阵的量子态。
通过查询O(logN)次OM4和QRAM中存储的数据,可以构建受控门Ob,以实现如下编码过程:
Ob|0>=|b>
作为本发明实施例的一种实施方式,上述线性方程组的残差项的量子态|b>满足:
其中,i∈[0,N-1],fi(x)为各个维度数据对应的目标函数的梯度值,‖F(x)‖2为上述QRAM的数据结构中目标函数的梯度F(x)的范数,可以用于对系数进行归一化处理,以便于后续的量子线性算法和量子态层析算法的执行。
所述量子逻辑门OA1用于编码所述线性方程组的系数矩阵中的非零元素在所述系数矩阵中的位置信息的量子态|j,k>。
所述量子逻辑门OA2用于编码所述线性方程组的系数矩阵中的非零元素的量子态
作为本发明实施例的一种实施方式,上述线性方程组的系数矩阵的量子态|A>满足:
其中,F(x)为所述目标函数的梯度函数,‖F(x)‖2为F(x)在所述数据结构中的范数,F′(x)为F(x)的雅各比矩阵,具体形式为:
F′(x)中的元素可以通过如下的有限差分法计算得到:
i表示所述待优化状态的数据维度,j表示所述系数矩阵的行标签,k表示所述系数矩阵的列标签,j,k,i∈[0,N-1]。
具体的,在量子牛顿法中,本发明实施例中的线性方程组的系数矩阵A可以表示为:
其中,F′(x)为目标函数的梯度函数F(x)的雅各比矩阵,‖F′(x)‖max=maxj,k|F′(x)ik|,其值可以通过经典方法来估计,例如,已知Jacobi矩阵每个元素的表达式,以及自变量的定义域,根据表达式可以确定最大值的上界。
系数矩阵A的量子态|A>的编码可以通过OA1,OA2两个Oracle实现,量子逻辑门OA1可以完成以下过程:
OA1|j,l>=|j,h(j,l)>
其中,j,k分别表示系数矩阵A的行标签和列标签,l表示系数矩阵A的稀疏度,即系数矩阵A中的最大非零行或列的元素的数目,h(j,l)表示第j行l个非0元素的列标签。量子逻辑门OA1的构建和矩阵A的具体形式相关,通过上述量子逻辑门OA1,可以得到线性方程组的系数矩阵中的非零元素在系数矩阵中的位置信息的量子态|j,k>。
相应的,量子逻辑门OA2可以完成以下过程:
通过系数矩阵A的行标签j和列标签k,量子逻辑门OA2可以将量子比特的量子态从初始状态|0>态转化为可以看出,量子逻辑门OA1的构造与系数矩阵A中的非0元素分布有关,量子逻辑门OA2构造的关键则是通过量子线路实现/>的计算。而/>可以通过如下的有限差分法计算得到:
因此,通过上述量子逻辑门OA1和查询OM2,可以构造得到量子逻辑门OA2,进而可以编码得到线性方程组的系数矩阵中的非零元素的量子态
其中,执行受控门Ob的时间复杂度为:
执行量子逻辑门OA2的时间复杂度为:
其中,N表示待优化状态的总维度数,∈表示构造精度,l表示系数矩阵的稀疏度。
所述第三子量子线路用于执行量子线性算法,将所述残差项的量子态和所述系数矩阵的量子态进行演化,得到所述状态增量的量子态。
具体的,实现|b>的编码和量子逻辑门OA1,OA2的构造后,即可使用量子线性算法计算得到状态增量的量子态|Δx>。量子线性算法可以使用CKS算法,其算法复杂度可以表示为:
其中,k表示系数矩阵的条件数。
最终可以确定QLSS过程的整体时间复杂度为
所述第四子量子线路用于执行量子态层析算法,将所述状态增量的量子态转化为所述状态增量的经典数据。
例如,量子态层析算法可以选择L∞层析算法,通过该算法可以将量子线性算法求解得到的状态增量的量子态|Δx>转化为经典形式的解Δx。该算法的复杂度可以表示为这里U是执行一次待观测量子线路所需的时间,n指观测的量子比特数量。
那么对量子牛顿法每个迭代步的时间复杂度进行分析,可以计算得到时间复杂度为:
相应的,经典牛顿法(Classical Newton Method,CNM)每个迭代步的时间复杂度为:
两者进行比较可以得出,当时,量子牛顿法相较经典牛顿法具有显著的加速效果。即当三维变分数据同化处理的是高维数据时,量子牛顿法可以大大降低时间复杂度,有效地提高了高维数据的数据同化效率。
下面以目标线性算法为CKS算法为例,对基于量子牛顿法的流体状态更新方法中的量子线路的运行过程中,量子比特的量子态演化进行说明。
在每个迭代步开始的时刻,量子线路包括的量子比特的量子态为其中/>的量子比特构成辅助寄存器,辅助寄存器是CKS算法必需的。/>的量子比特构成数据寄存器,数据寄存器中的量子比特用于记录线性方程组残差项和线性方程组的解的量子态。辅助寄存器中的量子比特数量与三维变分数据同化的待优化状态的总维度数N,系数矩阵A的条件数κ,稀疏度l和求解精度等众多因素有关。数据寄存器中的量子比特数量n=logN。
该量子线路的运行主要可以分为三个步骤,如下:
第一步,使用受控门Ob对残差项进行编码得到|bs>,量子比特的量子态演化可以为:
其中,下标⊥表示该量子态所有的正交基矢,即
第二步,通过执行CKS算法(其中包括量子逻辑门OA1和OA2),得到解(状态增量)的量子态|Δxs>,量子比特的量子态演化可以为:
其中,是一个与该非线性方程组的计算无关的量子态,其与/>是数据寄存器中的量子比特上的叠加态,两者可由辅助寄存器中的量子比特上的数据结果进行区分。
第三步,执行L∞层析算法将量子线路中的量子态提取为经典数据,显然当辅助寄存器全为0时,数据寄存器中提取的经典数据即为Δxs。至此迭代步s的计算流程中的量子线路部分执行完毕。
作为本发明实施例的一种实施方式,上述将所述待优化状态的值更新为目标和值可以包括:
针对每一树叶节点,基于所述目标和值更新该树叶节点存储的所述待优化状态的一个维度数据,和,更新该维度数据的所述目标函数的梯度值。
针对每一子树节点,计算该层子树节点以下的所有所述维度数据的平方和的平方根,作为所述维度数据的范数,和,计算该层子树节点以下的所有所述梯度值的平方和的平方根,作为所述梯度值的范数。
具体的,在每一迭代步中,通过上述量子线路可以计算得到状态增量的经典形式Δxs,并且该迭代步对应的线性方程组中待优化状态xs是已知的(在第一迭代步中为预设初始解;在其它迭代步中,为上一迭代步中的待优化状态与状态增量之和),那么可以通过经典计算的方式计算得到目标和值,并更新待优化状态的值,即计算xs+1=xs+Δxs,并对QRAM的数据结构中存储的数据进行更新。
首先,可以基于该目标和值xs+1更新树叶节点存储的待优化状态的一个维度数据再计算目标函数的梯度函数F(x)在该目标和值xs+1处的函数值F(xs+1),进而基于F(xs +1)更新该维度数据的目标函数的梯度值/>
进一步的,树叶节点存储的数据更新后,各个子树节点可以基于树叶节点更新后的数据,计算该层子树节点以下的所有维度数据的平方和的平方根,作为维度数据的范数,并计算该层子树节点以下的所有梯度值/>的平方和的平方根,作为梯度值的范数。从而,根节点中的d00x和d00y可以分别存储更新后的待优化状态的范数||xs+1||和目标函数的梯度的范数||F(xs+1)||。
步骤204:判断所述目标函数的梯度在所述目标和值处是否收敛,若收敛,则停止更新所述待优化状态的值。
作为本发明实施例的一种实施方式,上述判断所述目标函数的梯度在所述目标和值处是否收敛,可以包括:
步骤401:计算所述目标函数的梯度在所述目标和值处的函数值,并比较所述函数值的范数与预设计算精度的大小关系。
具体的,可以计算目标函数的梯度函数F(x)在该目标和值xs+1处的函数值F(xs+1),并将该函数值的范数||F(xs+1)||与预设计算精度∈′的大小进行比较。
步骤402:若所述函数值的范数不大于所述预设计算精度,确定所述目标函数的梯度在所述目标和值处收敛。
步骤403:若所述函数值的范数大于所述预设计算精度,确定所述目标函数的梯度在所述目标和值处不收敛。
若||F(xs+1)||≤∈′,可以认为目标函数的梯度在目标和值处收敛,目标函数在目标和值处取最小值,进而说明数据同化的效果较好,xs+1与真实流体***在初始时刻的真实状态之间的距离非常接近,即可以将xs+1作为数据同化最终得到的分析场,进行输出。
若||F(xs+1)||>∈′,则可以认为目标函数的梯度在目标和值处不收敛,目标函数还未取得最小值,也即xs+1与真实流体***在初始时刻的真实状态之间的距离较远,还需要再次通过量子牛顿法对待优化状态的值进行迭代优化,以使得x与该初始时刻的真实状态更加接近。
作为本发明实施例的一种实施方式,上述方法还可以包括:
若不收敛,则返回执行所述基于量子牛顿法将所述非线性方程转化为迭代步对应的线性方程组的步骤,直至所述目标函数的梯度在所述目标和值处收敛。
具体的,若判断目标函数的梯度在目标和值处不收敛,则需要再次通过量子牛顿法对待优化状态的值进行迭代优化,可以返回上述基于量子牛顿法将非线性方程转化为迭代步对应的线性方程组的步骤,此时该非线性方程中的模式场xm是通过模式积分对xs+1进行积分后得到,相应的,基于量子牛顿法转化得到的线性方程组也已发生变化,需要重新构造第一子量子线路中的受控门Ob和第二子量子线路中的量子逻辑门OA1、量子逻辑门OA2,进而构建并运行量子线路得到新的状态增量,再次计算得到新的目标和值,并再次判断目标函数的梯度在该新的目标和值处是否收敛,循环进行上述过程并迭代,直至目标函数的梯度在某一迭代步中的目标和值处收敛,循环迭代结束,此时可以将该迭代步中的xs+1作为数据同化最终得到的分析场,进行输出。
可见,在本实施例中,基于量子牛顿法原理,将三维变分数据同化的目标函数的求解,转化为每个迭代步s中线性方程组AsΔxs=bs的求解问题,通过选定的QRAM数据结构,可以实现量子逻辑门Ob,OA1,OA2的简单构造,快速完成线性方程组的系数矩阵和残差项的量子态编码,从而通过量子计算的方式求解得到待优化状态的状态增量,进而可以不断更新求解得到的分析场,使其逐渐接近真实流体***在初始时刻的真实状态。相比于经典计算的方式,大大降低了数据同化的时间复杂度,显著地提高了高维数据的数据同化效率。并且有效地规避了背景场预估不准确时,无法将目标函数中的非线性算子进行线性化处理的问题,具有十分广泛的使用范围。
参见图4,图4为本发明实施例提供的一种基于量子牛顿法的流体状态更新装置,所述装置包括:
梯度计算模块401:用于对待优化状态的三维变分数据同化的目标函数进行求导,得到所述目标函数的梯度为零时,所述待优化状态的非线性方程,所述待优化状态为真实流体***的仿真模型在初始时刻的状态,所述目标函数表示所述待优化状态与所述真实流体***在所述初始时刻的真实状态之间的距离。
线性化模块402,用于基于量子牛顿法将所述非线性方程转化为迭代步对应的线性方程组,所述线性方程组中的线性方程数量等于所述待优化状态的维度,第一迭代步对应的线性方程组中的所述待优化状态的值为预设初始解。
量子计算模块403,用于构建求解所述线性方程组的量子线路,运行所述量子线路得到状态增量,并将所述待优化状态的值更新为目标和值,所述目标和值为该迭代步对应的线性方程组中的所述待优化状态的值与所述状态增量之和。
收敛判断模块404,用于判断所述目标函数的梯度在所述目标和值处是否收敛,若收敛,则停止更新所述待优化状态的值。
关于基于量子牛顿法的流体状态更新装置实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述基于量子牛顿法的流体状态更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。所述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图5。本说明书实施方式还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一实施方式中的基于量子牛顿法的流体状态更新方法。请参阅图5,所述计算机设备可以是经典计算机。所述计算机设备也可以是量子计算机。
本说明书实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上述任一实施方式中的基于量子牛顿法的流体状态更新方法。
本说明书实施方式还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述任一实施方式中的基于量子牛顿法的流体状态更新方法。
可以理解,本说明书中的具体的示例只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本发明的范围。
可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程组成任何限定。
可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本说明书所提供的几个实施方式中,应所述理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本说明书的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种基于量子牛顿法的流体状态更新方法,其特征在于,所述方法包括:
对待优化状态的三维变分数据同化的目标函数进行求导,得到所述目标函数的梯度为零时,所述待优化状态的非线性方程,所述待优化状态为真实流体***的仿真模型在初始时刻的状态,所述目标函数表示所述待优化状态与所述真实流体***在所述初始时刻的真实状态之间的距离;
基于量子牛顿法将所述非线性方程转化为迭代步对应的线性方程组,所述线性方程组中的线性方程数量等于所述待优化状态的维度,第一迭代步对应的线性方程组中的所述待优化状态的值为预设初始解;
构建求解所述线性方程组的量子线路,运行所述量子线路得到状态增量,并将所述待优化状态的值更新为目标和值,所述目标和值为该迭代步对应的线性方程组中的所述待优化状态的值与所述状态增量之和;
判断所述目标函数的梯度在所述目标和值处是否收敛,若收敛,则停止更新所述待优化状态的值。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若不收敛,则返回执行所述基于量子牛顿法将所述非线性方程转化为迭代步对应的线性方程组的步骤,直至所述目标函数的梯度在所述目标和值处收敛。
3.如权利要求1所述的方法,其特征在于,所述判断所述目标函数的梯度在所述目标和值处是否收敛,包括:
计算所述目标函数的梯度在所述目标和值处的函数值,并比较所述函数值的范数与预设计算精度的大小关系;
若所述函数值的范数不大于所述预设计算精度,确定所述目标函数的梯度在所述目标和值处收敛;
若所述函数值的范数大于所述预设计算精度,确定所述目标函数的梯度在所述目标和值处不收敛。
4.如权利要求1-3任一项所述的方法,其特征在于,所述预设初始解为所述仿真模型在初始时刻的背景场,所述背景场为所述待优化状态的先验估计数据。
5.如权利要求1所述的方法,其特征在于,所述量子线路包括第一子量子线路、第二子量子线路、第三子量子线路和第四子量子线路,其中:
所述第一子量子线路用于制备所述线性方程组的残差项的量子态;
所述第二子量子线路用于制备所述线性方程组的系数矩阵的量子态;
所述第三子量子线路用于执行量子线性算法,将所述残差项的量子态和所述系数矩阵的量子态进行演化,得到所述状态增量的量子态;
所述第四子量子线路用于执行量子态层析算法,将所述状态增量的量子态转化为所述状态增量的经典数据。
6.如权利要求5所述的方法,其特征在于,所述待优化状态的数据存储于量子随机访问存储器QRAM中,所述QRAM的数据结构为二叉树结构且包括n层子树节点和1层树叶节点,其中:
每一树叶节点用于分别存储所述待优化状态的一个维度数据,和,该维度数据的所述目标函数的梯度值;
每一子树节点用于分别存储该层子树节点以下的所有所述维度数据的范数,和,该层子树节点以下的所有所述梯度值的范数,所述子树节点的总层数n满足:n=[logN],N为所述待优化状态的总维度数。
7.如权利要求6所述的方法,其特征在于,所述线性方程组的残差项的量子态|b>满足:
所述线性方程组的系数矩阵的量子态|A>满足:
其中,F(x)为所述目标函数的梯度函数,‖F(x)‖2为F(x)在所述数据结构中的范数,F′(x)为F(x)的雅各比矩阵,具体形式为:
F′(x)中的元素通过如下的有限差分法计算得到:
i表示所述待优化状态的数据维度,j表示所述系数矩阵的行标签,k表示所述系数矩阵的列标签,j,k,i∈[0,N-1]。
8.如权利要求2和7所述的方法,其特征在于,在所述构建求解所述线性方程组的量子线路之前,所述方法还包括:
查询所述QRAM的数据结构,基于所述树叶节点和所述子树节点存储的数据构造所述第一子量子线路中的受控门Ob,和所述第二子量子线路中的量子逻辑门OA1、量子逻辑门OA2,其中:
所述受控门Ob用于编码所述线性方程组的残差项的量子态
所述量子逻辑门OA1用于编码所述线性方程组的系数矩阵中的非零元素在所述系数矩阵中的位置信息的量子态|j,k>;
所述量子逻辑门OA2用于编码所述线性方程组的系数矩阵中的非零元素的量子态
9.如权利要求8所述的方法,其特征在于,所述将所述待优化状态的值更新为目标和值包括:
针对每一树叶节点,基于所述目标和值更新该树叶节点存储的所述待优化状态的一个维度数据,和,更新该维度数据的所述目标函数的梯度值;
针对每一子树节点,计算该层子树节点以下的所有所述维度数据的平方和的平方根,作为所述维度数据的范数,和,计算该层子树节点以下的所有所述梯度值的平方和的平方根,作为所述梯度值的范数。
10.一种基于量子牛顿法的流体状态更新装置,其特征在于,所述装置包括:
梯度计算模块:用于对待优化状态的三维变分数据同化的目标函数进行求导,得到所述目标函数的梯度为零时,所述待优化状态的非线性方程,所述待优化状态为真实流体***的仿真模型在初始时刻的状态,所述目标函数表示所述待优化状态与所述真实流体***在所述初始时刻的真实状态之间的距离;
线性化模块,用于基于量子牛顿法将所述非线性方程转化为迭代步对应的线性方程组,所述线性方程组中的线性方程数量等于所述待优化状态的维度,第一迭代步对应的线性方程组中的所述待优化状态的值为预设初始解;
量子计算模块,用于构建求解所述线性方程组的量子线路,运行所述量子线路得到状态增量,并将所述待优化状态的值更新为目标和值,所述目标和值为该迭代步对应的线性方程组中的所述待优化状态的值与所述状态增量之和;
收敛判断模块,用于判断所述目标函数的梯度在所述目标和值处是否收敛,若收敛,则停止更新所述待优化状态的值。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311040341.7A CN117113874A (zh) | 2023-08-17 | 2023-08-17 | 一种基于量子牛顿法的流体状态更新方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311040341.7A CN117113874A (zh) | 2023-08-17 | 2023-08-17 | 一种基于量子牛顿法的流体状态更新方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117113874A true CN117113874A (zh) | 2023-11-24 |
Family
ID=88808469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311040341.7A Pending CN117113874A (zh) | 2023-08-17 | 2023-08-17 | 一种基于量子牛顿法的流体状态更新方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117113874A (zh) |
-
2023
- 2023-08-17 CN CN202311040341.7A patent/CN117113874A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113379057B (zh) | 量子体系基态能量估计方法及*** | |
CN112418482B (zh) | 一种基于时间序列聚类的云计算能耗预测方法 | |
CN110909926A (zh) | 基于tcn-lstm的太阳能光伏发电预测方法 | |
CN111373420A (zh) | 量子近似优化中的成本函数变形 | |
US11797872B2 (en) | Quantum bit prediction | |
CN112204583A (zh) | 通过在量子算法中分布近似误差来生成量子计算电路 | |
CN114493014A (zh) | 多元时间序列预测方法、***及计算机产品、存储介质 | |
WO2023093857A1 (zh) | 基于量子线路求解非线性方程组的方法、装置和存储介质 | |
Chen et al. | Manifold proximal point algorithms for dual principal component pursuit and orthogonal dictionary learning | |
CN113420868A (zh) | 一种基于深度强化学习的旅行商问题求解方法及求解*** | |
Cornelissen et al. | Near-optimal quantum algorithms for multivariate mean estimation | |
CN114580648A (zh) | 消除广义振幅阻尼噪声的方法及装置、电子设备和介质 | |
CN115577776A (zh) | 基态能量的确定方法、装置、设备及存储介质 | |
Zhou et al. | BF-QC: Belief functions on quantum circuits | |
CN114580649A (zh) | 消除量子泡利噪声的方法及装置、电子设备和介质 | |
Gitiaux et al. | SWAP test for an arbitrary number of quantum states | |
CN116502774B (zh) | 一种基于时间序列分解和勒让德投影的时间序列预测方法 | |
CN115329971B (zh) | 消除振幅阻尼噪声的方法及装置、电子设备和介质 | |
CN117154698A (zh) | 一种光伏功率预测方法、装置、介质及电子装置 | |
CN117113874A (zh) | 一种基于量子牛顿法的流体状态更新方法及相关装置 | |
KR20230124666A (ko) | 양자 시스템 하의 열중성자화된 상태 준비 방법, 디바이스및 저장 매체 | |
CN115688602A (zh) | 一种融合时间特征和交叉注意力的短期风速预测方法 | |
Friedrich et al. | Natural evolutionary strategies applied to quantum-classical hybrid neural networks | |
CN117313876A (zh) | 一种基于变分数据同化的流体状态更新方法及相关装置 | |
CN116957084A (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 |