CN118014089A - 一种线性方程组的量子计算模拟方法及相关装置 - Google Patents

一种线性方程组的量子计算模拟方法及相关装置 Download PDF

Info

Publication number
CN118014089A
CN118014089A CN202410138994.7A CN202410138994A CN118014089A CN 118014089 A CN118014089 A CN 118014089A CN 202410138994 A CN202410138994 A CN 202410138994A CN 118014089 A CN118014089 A CN 118014089A
Authority
CN
China
Prior art keywords
quantum
loss function
iteration step
function value
update
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
CN202410138994.7A
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 CN202410138994.7A priority Critical patent/CN118014089A/zh
Publication of CN118014089A publication Critical patent/CN118014089A/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/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Artificial Intelligence (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种线性方程组的量子计算模拟方法及相关装置,属于量子计算技术领域,方法包括:构建用于制备线性方程组的近似解的量子态的变分量子线路,和,用于获取该近似解对应的损失函数值的量子态测量线路,变分量子线路中的变分参数通过利用差分方法确定的梯度更新序列进行迭代更新;根据变分量子线路和量子态测量线路,生成模拟计算该线性方程组的量子脉冲信号;对量子芯片上的量子比特作用量子脉冲信号,获取损失函数值满足预设精度时的变分量子线路制备得到的量子态,将该量子态对应的近似解作为该线性方程组的目标解。本方案显著减小了模拟线性方程组所需的量子线路的数量,节约了大量的量子计算资源,并且降低了计算时间,大大提高了计算效率,促进了运行于真实量子芯片的量子线性求解器的进一步发展。

Description

一种线性方程组的量子计算模拟方法及相关装置
技术领域
本发明属于量子计算技术领域,特别是一种线性方程组的量子计算模拟方法及相关装置。
背景技术
在很多科学技术领域(例如,流体力学、金融学、生物学、化学等)都涉及到线性系统的求解问题,如何快速精准求解线性系统的研究工作就显示出了很重要的理论和应用价值,因此发展了许多有效的线性系统求解技术和方法。例如,在CFD(Computational FluidDynamics,计算流体动力学)领域中,可以基于各种离散化的数学方法构建表示流体状态变化的线性方程组,从而对流体力学的问题进行数值实验、计算机模拟和分析研究,包括:计算流体在稳定状态下不同位置处的温度、密度等状态信息。
其中,使用经典计算机模拟线性方程组时,随着系数矩阵的规模增加,经典算法的复杂度将呈指数级增长,从而导致计算非常耗时。而量子计算是一种新型计算方式,其通过量子力学理论构建了一种计算框架,在某些场景中,比起最优的经典算法,量子计算具有指数加速的效果。因此可以利用量子计算机的计算优势对不同的系统进行模拟仿真,构建该系统的线性方程组,通过量子计算的方式获取该线性方程组在预设条件下的目标解,可以得到该系统在稳定状态下的信息。
现有技术中,利用量子线路模拟线性方程组时,迭代过程中需要优化线路参数以使损失函数沿梯度方向逐渐减小;因此需要构建多个量子线路以分别获取损失函数的梯度。具体为,需要先将每一迭代步中的损失函数在泡利基上进行分解,再对各分解项在标准基上分别进行测量,以确定损失函数的梯度。该方案需要构建非常多的量子线路,占用了过多的量子计算资源,并且需要大量的经典计算资源执行上述分解过程,因此计算过程耗时较长,计算效率偏低,难以在真实量子芯片上运行。
发明内容
本发明的目的是提供一种线性方程组的量子计算模拟方法及相关装置,旨在降低模拟线性方程组所需构建的量子线路数量,降低计算所需时间,进而提高计算效率。
本发明的一个实施例提供了一种线性方程组的量子计算模拟方法,所述方法包括:
构建用于制备线性方程组的近似解的量子态的变分量子线路,和,用于获取该近似解对应的损失函数值的量子态测量线路;其中,所述变分量子线路中的变分参数通过利用差分方法确定的梯度更新序列进行迭代更新;
根据所述变分量子线路和所述量子态测量线路,生成模拟计算所述线性方程组的量子脉冲信号;
对量子芯片上的量子比特作用所述量子脉冲信号,获取损失函数值满足预设精度时的变分量子线路制备得到的量子态,将该量子态对应的近似解作为所述线性方程组的目标解。
可选的,所述梯度更新序列包括变分参数的更新步长和基于损失函数计算得到的差分梯度序列;其中,所述差分梯度序列用于指示每一变分参数的更新方向。
可选的,在每一迭代步中,所述差分梯度序列基于前一迭代步的损失函数值、预设差分步长和多个目标损失函数值确定;其中,每一所述目标损失函数值通过将对应的一个变分参数单独调整预设差分步长后,利用所述量子态测量线路测量得到。
可选的,在每一迭代步中,所述差分梯度序列基于以下步骤计算得到:
针对所述变分量子线路的每一变分参数θi,基于预设差分步长∈将该变分参数调整为θi+∈,并利用所述量子态测量线路测量得到该变分参数调整后的一个目标损失函数值;
分别计算每一目标差值与所述预设差分步长∈之商,作为所述差分梯度序列中对应的一个元素;其中,所述目标差值为一个目标损失函数值与前一迭代步的损失函数值之差。
可选的,每一迭代步的变分参数和更新步长基于以下步骤确定:
根据前一迭代步的变分参数、前一迭代步的更新步长、当前迭代步对应的差分梯度序列,和当前迭代步最新的步长更新参数,确定当前迭代步的试验变分参数;
基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,确定当前迭代步的变分参数和更新步长。
可选的,所述步长更新参数包括第一步长更新子参数和第二步长更新子参数;所述根据前一迭代步的变分参数、前一迭代步的更新步长、当前迭代步对应的差分梯度序列,和当前迭代步最新的步长更新参数,确定当前迭代步的试验变分参数,包括:
将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长;
基于前一迭代步的变分参数与目标乘积的差值,确定当前迭代步的试验变分参数;其中,所述目标乘积为所述试验更新步长和所述差分梯度序列的乘积。
可选的,所述基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,确定当前迭代步的变分参数和更新步长,包括:
若所述试验变分参数对应的损失函数值小于前一迭代步的损失函数值,将所述试验变分参数作为当前迭代步的变分参数,将所述试验更新步长作为当前迭代步的更新步长,并将所述第二步长更新子参数更新为第一预设值。
可选的,所述方法还包括:
若所述试验变分参数对应的损失函数值不小于前一迭代步的损失函数值,将所述第二步长更新子参数更新为当前第二步长更新子参数和第二预设值的乘积;
返回执行所述将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长的步骤,直至试验变分参数对应的损失函数值小于前一迭代步的损失函数值。
可选的,所述量子态测量线路为Hadamard Test线路,包括依次作用于辅助量子比特的第一H门、作用于目标量子比特的受控U门,和作用于所述辅助量子比特的第二H门;
其中,所述目标量子比特用于存储所述变分量子线路制备得到的量子态;所述受控U门的控制比特为所述辅助量子比特,该U门的矩阵形式包括所述变分量子线路当前制备的近似解对应的损失函数在泡利基上分解得到的各项。
本发明的又一实施例提供了一种线性方程组的量子计算模拟系统,所述系统包括经典处理单元、量子测控单元和量子芯片,其中:
所述经典处理单元用于构建制备线性方程组的近似解的量子态的变分量子线路,和,获取该近似解对应的损失函数值的量子态测量线路,并通过利用差分方法确定的梯度更新序列迭代更新所述变分量子线路中的变分参数,将构建的所述变分量子线路和所述量子态测量线路发送至所述量子测控单元;
所述量子测控单元用于根据所述变分量子线路和所述量子态测量线路,生成模拟计算所述线性方程组的量子脉冲信号,并对所述量子芯片上的量子比特作用所述量子脉冲信号;
所述量子芯片用于基于所述量子脉冲信号执行所述量子比特的量子态演化;
所述量子测控单元还用于获取损失函数值满足预设精度时的变分量子线路制备得到的量子态,将该量子态对应的近似解作为所述线性方程组的目标解。
本发明的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一实施例中所述的方法。
本发明的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一实施例中所述的方法。
与现有技术相比,本发明提供的一种线性方程组的量子计算模拟方法及相关装置,可以构建用于制备线性方程组的近似解的量子态的变分量子线路,和,用于获取该近似解对应的损失函数值的量子态测量线路;其中,该变分量子线路中的变分参数通过利用差分方法确定的梯度更新序列进行迭代更新。并根据变分量子线路和量子态测量线路,生成模拟计算该线性方程组的量子脉冲信号;然后对量子芯片上的量子比特作用该量子脉冲信号,可以获取损失函数值满足预设精度时的变分量子线路制备得到的量子态,将该量子态对应的近似解作为该解线性方程组的目标解。
本实施例提供的方案中,不需要构建大量的量子线路,以分别获取损失函数的各个梯度;而是通过少量的测量损失函数值的量子线路,基于获取的多个损失函数值,利用差分逼近的思想近似地计算得到了该梯度。因此利用差分方法确定的梯度更新序列表征了损失函数的梯度下降方向,可以用来指示每一变分参数的更新方向。基于该更新方向和变分参数的更新步长,迭代更新变分量子线路中的变分参数,可以使损失函数值逐渐降低,直至满足预设精度,进而得到线性方程组的目标解。相较于现有的构建多个梯度计算量子线路的方式,本方案显著减小了模拟线性方程组所需的量子线路的数量,节约了大量的量子计算资源,并且降低了计算时间,大大提高了计算效率,促进了运行于真实量子芯片的量子线性求解器的进一步发展。
附图说明
图1为本发明实施例提供的一种量子计算系统的网络框图;
图2为本发明实施例提供的一种线性方程组的量子计算模拟方法的流程示意图;
图3为本发明实施例提供的一种变分量子线路的具体结构示意图;
图4为本发明实施例提供的一种量子态测量线路的具体结构示意图;
图5为本发明实施例提供的一种线性方程组的量子计算模拟系统的结构示意图;
图6为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
图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管个体的依赖。
而量子逻辑功能作用在量子比特需要考虑量子比特的个体性,如量子比特在量子芯片中是第几个量子比特的个体标识、位置以及和周围量子比特的关系、以及每个量子比特可使用时长。故而量子逻辑功能组成的量子算法不仅表达算法的运算关系,更表达算法对量子比特个体的依赖。
量子芯片可以包括量子比特和对量子比特进行调控的通道,量子逻辑门通过模拟信号实现,不同组合的模拟信号通过对量子比特进行调控的通道施加在量子比特上,从而实现不同功能的量子电路,完成对数据的处理。所以,量子逻辑功能作用在量子比特的设计(包括量子比特使用与否的设计以及每个量子比特使用效率的设计)是提升量子计算机的运算性能的关键,且需要进行特殊的设计,这也是基于量子逻辑功能实现的量子算法的独特性,是和基于经典逻辑功能实现的经典算法的本质和显著不同。而上述针对量子比特的设计是普通计算设备所不需要考虑的、也不需要面对的技术问题。
为了基于量子计算的方法对某一目标系统进行模拟,从而求解得到该目标系统对应的线性方程组的解。首先,需要获取该目标系统对应的线性方程组Ax=b,其中,x表示该目标系统中待确定的物理量,那么通过量子计算的方法对该目标系统进行模拟和量子态演化,最终可以得到其中的物理量的信息。具体的,在一种实施方式中,如CFD技术领域中的模拟流体系统时,上述线性方程组Ax=b则可以用于表示目标流体的离散化网格中各网格单元的状态变化;其中,向量x表示各网格单元在当前时刻与前一时刻的流体状态的差值;向量b表示与前一个时刻的流体状态和网格单元的坐标信息相关的残差向量;矩阵A表示与前一个时刻的流体状态和网格单元的坐标信息相关的系数矩阵。
进而,在对该线性方程组的量子计算模拟过程中,可以将线性方程组的信息编码到量子比特上,具体涉及到将线性方程组的系数矩阵A和残差向量b编码成相应的量子态。在一种实施方式中,可以将上述经典数据的信息编码到该线性方程组对应的哈密顿量中,通过哈密顿模拟的方式代替将经典数据转为量子态。也即基于系数矩阵A和残差向量b,构造线性方程组Ax=b对应的哈密顿量,该哈密顿量的基态(也即最低能态)则对应于线性方程组的解,那么基于该哈密顿量构建的损失函数达到最小值时,线性方程组的解也就确定了。
进一步的,一种常用的量子态编码和损失函数迭代优化的量子线路是变分量子线路,变分量子线路中的变分参数为含参量子逻辑门的旋转角度,在对线性方程组的量子计算模拟过程中,通过调整含参量子逻辑门的旋转角度,可以使对应的损失函数值发生变化。
参见图2,图2为本发明实施例提供的一种线性方程组的量子计算模拟方法,所述方法包括以下步骤:
步骤201,构建用于制备线性方程组的近似解的量子态的变分量子线路,和,用于获取该近似解对应的损失函数值的量子态测量线路;
其中,所述变分量子线路中的变分参数通过利用差分方法确定的梯度更新序列进行迭代更新。
步骤202,根据所述变分量子线路和所述量子态测量线路,生成模拟计算所述线性方程组的量子脉冲信号。
步骤203,对量子芯片上的量子比特作用所述量子脉冲信号,获取损失函数值满足预设精度时的变分量子线路制备得到的量子态,将该量子态对应的近似解作为所述线性方程组的目标解。
具体的,现有的通过量子计算的方式模拟目标系统对应的线性方程组的方案中,主要包括以下步骤:构造哈密顿量、选取拟设方式、获取损失函数梯度、量子态层析和拟设参数优化。其中,线性方程组Ax=b对应的哈密顿量的形式通常是固定的,例如,构造的哈密顿量H可以为其中,A为该线性方程组的系数矩阵,/>表示A的转置共轭矩阵,I为单位矩阵,b为该线性方程组的残差向量,且已经归一化,满足<b|b>=1。
不失一般性的,假设系数矩阵A为自共轭矩阵,否则,在一种实施方式中,可以取使得构建的线性方程组CACx=Cb成立且满足矩阵CA自共轭,进而可以通过量子计算的方式模拟该新构建的线性方程组,能够计算得到原线性方程组Ax=b的解x。
进一步的,本领域技术人员所知的是,线性方程组的量子计算模拟方法所需的拟设方式可以为一种参数化的量子线路,如包含多个含参量子逻辑门的变分量子线路。其中的拟设参数也就是变分量子线路中的变分参数,举例来说,选取的拟设方式可以为高效硬件拟设(Hardware Efficient Ansatz,简称HEA),高效硬件拟设是一种通用性高的拟设方式。在一种实施方式中,高效硬件拟设对应的变分量子线路的具体结构可以如图3所示,其中,虚线框中的部分量子线路是一个高效硬件拟设层(Layer of HEA),该变分量子线路可以由多个高效硬件拟设层共同组成,每一高效硬件拟设层中的含参量子逻辑门为RY门,为含参量子逻辑门/>的旋转角度,从而通过各级高效硬件拟设层中的多个RY门,可以编码得到线性方程组的近似解的量子态。
上述拟设方式中的拟设参数可以定义为θ={θ1,…,θi,…θI},其中,拟设参数的数量为I,从而该拟设方式可以整体描述为也即该拟设方式可以实现以下量子态演化:U(θ)|0>=|φ>,上述拟设方式可以简写为Uθ。进而基于上述哈密顿量H构建的损失函数可以定义为/> 其中,/>为Uθ的转置共轭,损失函数Lθ可以简写为L。
那么,在利用变分量子线路制备得到线性方程组的近似解的量子态后,为了在迭代过程中不断优化变分参数θ,以使损失函数L(θ)沿梯度方向逐渐减小,需要获取损失函数的梯度,也即获取L(θ)的微分梯度进而可以更新每一变分参数为θi=θi-λgi。其中,梯度g为变分参数θ的更新方向,λ为变分参数θ的更新步长。
进一步的,当前的通过量子计算的方式模拟线性方程组的方案中,为了获取微分梯度g,需要通过构建大量的量子线路分别获取每一微分梯度gi。例如,执行该方案时,首先需要将损失函数L(θ)在泡利基上进行分解,得到:
基于上述分解方式,可以产生分别为和<b|A|φ>三项,其中的/>可以继续分解为:
再将上式中的在泡利基上进行分解,可以得到:
其中,J=J(i)是Uii)在泡利基下分解的项数,cj是各项的系数,σj是泡利基元。上述分解方式的优势在于:对/>分解产生的各项是可测量的,从而可以通过多个量子线路分别测量并获取损失函数L(θ)梯度的各项/>
那么,假设上述方案中的哈密顿量在泡利基上可以分级为分解得到的项数为K;上述分解得到的各项中的Uii)在泡利基上分解的项数为J;且上述拟设方式中的拟设参数的数量为I。则可以得到:现有的利用量子计算的方式模拟目标系统对应的线性方程组时,所需的直接测量损失函数的微分梯度g的各项的量子线路的总数量为O(IJK)。上述方案中的分解方式极大地降低了每一量子线路的深度,但是也导致了用于计算分解过程的经典计算量的增大,和,量子线路总数量的提升。
为此,在上述步骤201中,为了降低模拟线性方程组所需的量子线路的数量,本发明实施例提供的方案可以基于获取的多个损失函数值,利用差分逼近的思想近似地计算得到了该梯度。差分法是一种微分方程数值方法,其通过有限差分来近似导数,寻求微分方程的近似解。
本实施例中,通过获取线性方程组的损失函数的多个损失函数值,可以通过有限差分的方式近似得到损失函数的多个近似导数,由此逼近了损失函数的微分梯度。从而不需要大量的梯度计算线路得到梯度信息,只需少量的损失函数计算线路得到损失函数信息,即可近似地得到梯度。那么模拟线性方程组所需的量子线路的总数量将由O(IJK)下降为O(IK),并且在每个运行的量子线路中都少了一个受控σj门。从而不仅显著减小了模拟线性方程组所需的量子线路的数量,也节约了大量的量子计算资源,并且降低了计算时间,大大提高了计算效率,促进了运行于真实量子芯片的量子线性求解器的进一步发展。
具体的,在一种实施方式中,用于获取每一近似解对应的损失函数值的量子态测量线路可以为Hadamard Test线路,上述Hadamard Test线路的具体结构可以如图4所示,图中初始状态为|0>的量子比特为辅助量子比特,目标量子比特的量子态|φ>为上述变分量子线路制备得到的线性方程组的近似解的量子态。对上述变分量子线路当前制备的近似解对应的损失函数在泡利基上进行分解,可以得到:
那么可以基于分解产生的σk项构建多种受控U门,并在辅助量子比特的控制下分别作用于目标量子比特的量子态|φ>。
Hadamard Test是一种常用的量子态测量方法,可以用于确定量子态|φ>相对于参考态|σk>的相位,是许多量子算法的关键子程序,如量子相位估计等。Hadamard Test的工作方式是:首先对控制比特应用一个Hadamard变换,对量子态应用一个受控U门;在应用受控U门后,再对控制比特应用另一个Hadamard变换,并在标准基上对其进行测量。通过多次重复Hadamard测试并对结果取平均,可以估计目标量子比特相对于参考态的相位。
其中,需要观测<φ|σk|φ>的实部时,S=I,即相当于无作用。只需对辅助量子比特进行观测,观测结果为0的概率减去观测结果为1的概率,即为<φ|σk|φ>的实部值。同理,需要观测<φ|σk|φ>的虚部时,S=diag{1,-i}。仍只需对辅助量子比特进行观测,观测结果为0的概率减去观测结果为1的概率,即为<φ|σk|φ>的虚部值。在本发明实施例提供的方案中,损失函数值为实数,因此可以省略上述S门。
相应的,也可以基于上述Hadamard Test线路构建获取损失函数的梯度的量子线路,需要将该U门的矩阵形式基于上述每一微分梯度的分解形式进行对应的修改,利用上述量子线路获取损失函数的梯度的缺点在于,需要分别构建大量的量子线路。
作为本发明实施例的一种实施方式,变分量子线路中的变分参数通过利用差分方法确定的梯度更新序列进行迭代更新,所述梯度更新序列包括变分参数的更新步长和基于损失函数计算得到的差分梯度序列;
其中,所述差分梯度序列用于指示每一变分参数的更新方向。
具体的,在一种实施方式中,梯度更新序列可以为变分参数的更新步长和差分梯度序列的乘积,其中,差分梯度序列基于损失函数计算得到,包括对多个损失函数值做差分运算得到的损失函数的多个近似梯度,用于指示每一变分参数的更新方向,即含参量子逻辑门的旋转方向;更新步长用于指示每一迭代步中,含参量子逻辑门的旋转角度变化量。
在每一迭代步中,所述差分梯度序列基于前一迭代步的损失函数值、预设差分步长和多个目标损失函数值确定;
其中,每一所述目标损失函数值通过将对应的一个变分参数单独调整预设差分步长后,利用所述量子态测量线路测量得到。
在一种实施方式中,所述差分梯度序列可以基于以下步骤计算得到:
步骤2011,针对所述变分量子线路的每一变分参数θi,基于预设差分步长∈将该变分参数调整为θi+∈,并利用所述量子态测量线路测量得到该变分参数调整后的一个目标损失函数值。
具体的,在初始迭代步中,首先可以使用上述量子态测量线路获取初始变分参数θ={θ1,…,θi,…θI}对应的初始损失函数值L(θ1,…,θi,…,θI),如果该初始损失函数值不满足预设精度,则需要对变分参数进行循环迭代,以使得在每一迭代步中逐渐降低损失函数值。其中,初始变分参数可以是任意的,也可以是本领域技术人员设置的经验值等;同样的,损失函数值的预设精度η可以预先设置为η=10-8或10-9等,在此均不做具体限定。相应的,如果初始损失函数值满足预设精度,可以将该变分量子线路基于初始变分参数制备得到的量子态对应的近似解作为该线性方程组的目标解。
如果初始损失函数值不满足预设精度,那么在之后的第一迭代步中,可以基于预设差分步长∈,分别将每一变分参数θi单独调整为θi+∈,并且在每次调整后,使用上述量子态测量线路获取对应的一个目标损失函数值。例如,将第一个变分参数θ1单独调整为θ1+∈,从而得到对应的目标损失函数值L11+∈),…,将第I个变分参数θI单独调整为θI+∈,从而得到对应的目标损失函数值LII+∈);从而得到I个目标损失函数值组成的序列。
其中,预设差分步长∈用于表示利用差分方法逼近损失函数的梯度的精度,当其取值过大时,由于精度较低可能难以实现目标逼近效果,从而导致损失函数值无法下降;当其取值过小时,由于精度较高又会加大循环迭代所需的步数;因此预设差分步长∈的取值需要综合考虑上述具体情况,例如,可以取值为10-1、10-3或10-5等,在此也不做具体限定。
步骤2012,分别计算每一目标差值与所述预设差分步长∈之商,作为所述差分梯度序列中对应的一个元素;其中,所述目标差值为一个目标损失函数值与前一迭代步的损失函数值之差。
具体的,通过执行上述步骤2011,已经得到了I个目标损失函数值组成的序列,进而可以分别计算一个目标损失函数值Lii+∈)与前一迭代步的损失函数值L(θ1,…,θi,…,θI)之差,作为目标差值,再计算每一目标差值与上述预设差分步长∈之商,作为差分梯度序列d={d1,…,di,…dI}中对应的一个元素di,即:
该序列元素di则近似于损失函数的微分梯度g中对应项gi,di≈gi;并且随着∈→0,‖d-g‖→0。那么再基于该差分梯度序列d和变分参数的更新步长的乘积,可以更新得到下一迭代步中的变分参数,再次获取下一迭代步的损失函数值,并判断是否满足预设精度,从而通过循环迭代的方式逐渐降低了损失函数值,直至满足预设精度时,可以得到该线性方程组的目标解。
可见,在本实施例中,通过合理地设置预设差分步长∈,可以快速且准确地通过差分法逼近损失函数的微分梯度,从而构建得到损失函数的差分梯度序列,进而计算该差分梯度序列和变分参数的更新步长的乘积,可以循环迭代地更新变分量子线路中的变分参数,逐渐降低损失函数值,直至满足预设精度时,即可得到该线性方程组的目标解。
作为本发明实施例的一种实施方式,每一迭代步的变分参数和更新步长可以基于以下步骤确定:
步骤301,根据前一迭代步的变分参数、前一迭代步的更新步长、当前迭代步对应的差分梯度序列,和当前迭代步最新的步长更新参数,确定当前迭代步的试验变分参数。
具体的,所述根据前一迭代步的变分参数、前一迭代步的更新步长、当前迭代步对应的差分梯度序列,和当前迭代步最新的步长更新参数,确定当前迭代步的试验变分参数,可以包括以下步骤:
步骤3011,基于前一迭代步的更新步长和当前迭代步最新的步长更新参数之间的四则运算结果,确定当前迭代步的试验更新步长。
步骤3012,基于前一迭代步的变分参数与目标乘积的差值,确定当前迭代步的试验变分参数;其中,所述目标乘积为所述试验更新步长和所述差分梯度序列的乘积。
具体的,为了使得每一迭代步中的变分参数相较于前一迭代步有优化,也即每一迭代步的损失函数值均小于前一迭代步的损失函数值,可能需要在每一迭代步中对变分参数进行多次试验性的调整。因此,在每一迭代步中,试验变分参数为在该迭代步中不断优化的变分参数的试验值,直至其对应的损失函数值小于前一迭代步的损失函数值时,再将其作为该迭代步最终的变分参数。
同理,试验更新步长为在该迭代步中不断优化的更新步长的试验值,与试验变分参数相对应,满足上述条件时的试验更新步长可以作为该迭代步最终的更新步长。作为本发明实施例的一种实施方式,为了进一步加快损失函数值的下降速度,还可以预设一个可变的步长更新参数α,其取值范围可以为α>1.0。从而在迭代过程中,可以基于该当前迭代步最新的步长更新参数α和前一迭代步的更新步长λref的四则运算结果,相较于前一迭代步的更新步长,将当前迭代步的更新步长进行放大,以得到当前迭代步的试验更新步长。
在一种实施方式中,上述步长更新参数α的取值范围可以为α>1.0,因此可以获取前一迭代步的更新步长λref和当前迭代步最新的步长更新参数α的乘积αλref,作为当前迭代步的试验更新步长;并获取基于差分方法得到的该迭代步对应的差分梯度序列d,计算该试验更新步长αλref与差分梯度序列d的乘积,为上述目标乘积αλrefd。进而可以计算前一迭代步的变分参数θt与目标乘积αλrefd的差值,作为当前的试验变分参数θt-αλrefd。
在另一种实施方式中,所述步长更新参数可以包括数值固定的第一步长更新子参数和数值可变的第二步长更新子参数;所述基于前一迭代步的更新步长和当前迭代步最新的步长更新参数之间的四则运算结果,确定当前迭代步的试验更新步长,可以包括:
将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长。
也即,上述步长更新参数α可以包括数值固定的第一步长更新子参数α1和数值可变的第二步长更新子参数α2,并将前一迭代步的更新步长λref、第一步长更新子参数α1和第二步长更新子参数α2三者的乘积,作为当前迭代步的试验更新步长α1α2λref;其中,α1的取值范围可以为α1>1.0,α2的初始值可以为1。那么,基于第一步长更新子参数和第二步长更新子参数,也可以实现上述在迭代过程中放大更新步长的效果,从而加快损失函数值的下降速度;并且由于第二步长更新子参数是可变的,在每一迭代步中还可以对其进行多次调整和优化,使得该迭代步对应的损失函数值尽可能的减小。
步骤302,基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,确定当前迭代步的变分参数和更新步长。
具体的,所述基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,确定当前迭代步的变分参数和更新步长,可以包括:
若所述试验变分参数对应的损失函数值小于前一迭代步的损失函数值,将所述试验变分参数作为当前迭代步的变分参数,将所述试验更新步长作为当前迭代步的更新步长,并将所述第二步长更新子参数更新为第一预设值。
若所述试验变分参数对应的损失函数值不小于前一迭代步的损失函数值,将所述第二步长更新子参数更新为当前第二步长更新子参数和第二预设值的乘积;
返回执行所述将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长的步骤,直至试验变分参数对应的损失函数值小于前一迭代步的损失函数值。
在上述实施方式中,得到了当前迭代步的试验更新步长α1α2λref后,可以计算得到当前的试验变分参数θt1α2λrefd,便可以基于该试验变分参数调整变分量子线路,并利用量子态测量线路获取对应的损失函数值,将该试验变分参数对应的损失函数值和前一迭代步的损失函数值进行大小比较。
若该试验变分参数对应的损失函数值小于前一迭代步的损失函数值,说明该试验变分参数对损失函数值的下降有优化效果,可以将该试验变分参数θt1α2λrefd作为当前迭代步的变分参数,将试验更新步长α1α2λref作为当前迭代步的更新步长,并将第二步长更新子参数更新为第一预设值,例如,第一预设值可以保持为1不变。从而在当前迭代步的损失函数值满足预设精度时可以确定该线性方程组的目标解,在暂时不满足预设精度时可以继续利用差分方法确定下一迭代步的梯度更新序列,并在下一迭代步中继续基于上述步长更新参数进行变分参数和更新步长的更新。
若该试验变分参数对应的损失函数值不小于前一迭代步的损失函数值,说明当前的试验变分参数θt1α2λrefd对损失函数值的下降无优化效果,因此需要继续调整试验变分参数和试验更新步长,直至调整后的损失函数值小于前一迭代步的损失函数值。
由于当前的试验变分参数θt1α2λrefd对损失函数值的下降无优化效果,而差分梯度序列d是通过差分方法得到的,有较高的准确率;因此可以考虑:是否为前一迭代步的更新步长λref设置不合理导致,而第一步长更新子参数α1又放大了试验更新步长,可能导致试验更新步长过大,由此试验变分参数变化过大造成损失函数值无法下降。在一种实施方式中,可以将第二步长更新子参数更新为当前第二步长更新子参数和第二预设值的乘积。第二预设值可以为0至1之间的一个预设值,从而在多次调整过程中,可以使得试验更新步长在大于前一迭代步的更新步长λref和小于λref之间变化,以得到更加合理的试验更新步长。
例如,第一步长更新子参数α1可以为1.2,第二步长更新子参数α2的初始值可以为1,第二预设值可以为0.5。从而第一次调整得到的试验更新步长可以为1.2×1×λref=1.2λref,该试验更新步长相较于前一迭代步的更新步长λref放大了,进而该第一次调整得到的试验变分参数为θt-1.2λrefd。那么若该试验变分参数对应的损失函数值L(θt-1.2λrefd)小于前一迭代步的损失函数值L(θt),则可以将该试验变分参数θt-1.2λrefd作为当前迭代步的变分参数,将该试验更新步长1.2λref作为当前迭代步的更新步长。
若该试验变分参数对应的损失函数值L(θt-1.2λrefd)不小于前一迭代步的损失函数值L(θt),则可以再次调整试验更新步长,具体为将该第二步长更新子参数α2更新为当前第二步长更新子参数1和第二预设值0.5的乘积1×0.5=0.5,并返回执行根据前一迭代步的变分参数、前一迭代步的更新步长、当前迭代步对应的差分梯度序列,和当前迭代步最新的步长更新参数,确定当前迭代步的试验变分参数的步骤。也即在第二次调整中,将试验更新步长变为1.2×0.5×λref=0.6λref,此时的试验更新步长小于前一迭代步的更新步长λref,该第一次调整得到的试验变分参数为θt-0.6λrefd,进而再次判断该试验变分参数对应的损失函数值L(θt-0.6λrefd)是否小于前一迭代步的损失函数值L(θt)。通过上述方式可以迭代调整试验更新步长和试验变分参数,直至该迭代步的试验变分参数对应的损失函数值小于前一迭代步的损失函数值。
在一种实施方式中,可以将变分参数在上述每一迭代步中的迭代更新过程定义为外层迭代;并将每一迭代步内,试验更新步长和试验变分参数的调整过程定义为内层迭代。其中,外层迭代的最终目的是不断优化变分参数的取值,以使得损失函数值逐渐降低;内层迭代的最终目的是动态调整变分参数的更新步长,以使得每一迭代步相较于前一迭代步的损失函数值均有下降。并可以预先设置外层迭代和内层迭代的循环次数上限,分别为外层迭代参数tmax和内层迭代参数pmax
从而在每一迭代步内,当内层迭代次数达到pmax时,确认当前的线性方程组的量子计算模拟失败,需要重新设置预设精度η、预设差分步长∈、第一步长更新子参数α1、第二步长更新子参数α2或初始更新步长λ0等参数。在外层迭代次数达到tmax,或,某一迭代步的损失函数值达到预设精度η时,可以停止对该线性方程组的量子计算模拟,并获取损失函数值满足预设精度时的变分量子线路制备得到的量子态,将该量子态对应的近似解作为该线性方程组的目标解。
可见,本发明实施例提供的方案中,通过设置数值固定的第一步长更新子参数α1和数值可变的第二步长更新子参数α2,不仅可以在每一迭代步中,逐渐放大试验更新步长,从而加速损失函数值的下降过程。并且还可以在初次调整试验变分参数的效果不理想时,对试验更新步长和试验变分参数进行更高精度的迭代处理,使得在每一迭代步中都尽可能达到损失函数逐渐下降的效果,提高了通过量子计算模拟线性方程组时的成功率。
作为本发明实施例的一种实施方式,上述实施例中的量子态测量线路可以为Hadamard Test线路,包括依次作用于辅助量子比特的第一H门、作用于目标量子比特的受控U门,和作用于所述辅助量子比特的第二H门;
其中,所述目标量子比特用于存储所述变分量子线路制备得到的量子态;所述受控U门的控制比特为所述辅助量子比特,该U门的矩阵形式包括所述变分量子线路当前制备的近似解对应的损失函数在泡利基上分解得到的各项。
作为本发明实施例的一种实施方式,所述方法还可以包括:
判断当前迭代步的损失函数值是否满足预设精度,若不满足,利用差分方法确定下一迭代步的梯度更新序列。
具体的,本发明实施例提供的方案中,在每一迭代步中,通过上述方案确定了变分参数和更新步长后,可以将变分量子线路中的变分参数进行对应的更新。根据更新后的变分量子线路和量子态测量线路,量子测控单元可以生成模拟计算该线性方程组的量子脉冲信号,并对量子芯片上的量子比特作用上述量子脉冲信号,获取损失函数值。进而判断当前迭代步的损失函数值是否满足预设精度,若不满足,可以利用差分方法确定下一迭代步的梯度更新序列。若满足,可以对该迭代步中的变分量子线路制备得到的量子态进行层析,将该量子态对应的近似解作为该线性方程组的目标解。
参见图5,图5为本发明实施例提供的一种线性方程组的量子计算模拟系统,所述系统包括经典处理单元501、量子测控单元502和量子芯片503,其中:
所述经典处理单元501用于构建制备线性方程组的近似解的量子态的变分量子线路,和,获取该近似解对应的损失函数值的量子态测量线路,并通过利用差分方法确定的梯度更新序列迭代更新所述变分量子线路中的变分参数,将构建的所述变分量子线路和所述量子态测量线路发送至所述量子测控单元502。
所述量子测控单元502用于根据所述变分量子线路和所述量子态测量线路,生成模拟计算所述线性方程组的量子脉冲信号,并对所述量子芯片503上的量子比特作用所述量子脉冲信号。
所述量子芯片503用于基于所述量子脉冲信号执行所述量子比特的量子态演化。
所述量子测控单元502还用于获取损失函数值满足预设精度时的变分量子线路制备得到的量子态,将该量子态对应的近似解作为所述线性方程组的目标解。
关于上述线性方程组的量子计算模拟系统实现的具体功能和效果,可以参照本说明书其他实施方式对照解释,在此不再赘述。所述线性方程组的量子计算模拟系统中的各个单元可全部或部分通过软件、硬件及其组合来实现。所述各单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个单元对应的操作。
具体的,上述线性方程组的量子计算模拟方法可以通过图1所示的量子计算系统实现。其中,上述经典处理单元501的功能可以基于网络110和经典计算单元160实现,首先,用户可以通过服务器120、无线设备130或客户机140构建上述变分量子线路和量子态测量线路,并将上述量子线路存储在存储单元150中的数据库151中。通过上述网络110,经典计算单元160可以获取每一迭代步中的损失函数值,并通过利用差分方法确定的梯度更新序列迭代更新变分量子线路中的变分参数。
量子测控单元502和量子芯片503均包含在量子计算单元170中,量子测控单元502可以将上述变分量子线路中的量子逻辑门转换为对应的模拟信号,也即可以生成各种组合量子脉冲信号;并通过量子芯片503中对量子比特进行调控的通道,将对应的量子脉冲信号依次施加在量子芯片中的量子比特上,使得上述量子比特的量子态纠缠演化。
量子测控单元502还可以通过上述对量子比特进行调控的通道,将量子态测量线路对应的量子脉冲信号施加在上述量子比特上,从而测量得到损失函数值。并将损失函数值满足预设精度时的变分量子线路制备得到的量子态进行量子态层析,将该量子态转化为经典数据形式的近似解,作为该线性方程组的目标解。
请参阅图6,本说明书实施方式还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式中的线性方程组的量子计算模拟系统方法。请参阅图6,所述计算机设备可以是经典计算机。所述计算机设备也可以是量子计算机。
本说明书实施方式还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上述任一实施方式中的线性方程组的量子计算模拟系统方法。
本说明书实施方式还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述任一实施方式中的线性方程组的量子计算模拟系统方法。
可以理解,本说明书中的具体的示例只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本发明的范围。
可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程组成任何限定。
可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(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.如权利要求2所述的方法,其特征在于,在每一迭代步中,所述差分梯度序列基于前一迭代步的损失函数值、预设差分步长和多个目标损失函数值确定;其中,每一所述目标损失函数值通过将对应的一个变分参数单独调整预设差分步长后,利用所述量子态测量线路测量得到。
4.如权利要求3所述的方法,其特征在于,在每一迭代步中,所述差分梯度序列基于以下步骤计算得到:
针对所述变分量子线路的每一变分参数θi,基于预设差分步长∈将该变分参数调整为θi+∈,并利用所述量子态测量线路测量得到该变分参数调整后的一个目标损失函数值;
分别计算每一目标差值与所述预设差分步长∈之商,作为所述差分梯度序列中对应的一个元素;其中,所述目标差值为一个目标损失函数值与前一迭代步的损失函数值之差。
5.如权利要求2所述的方法,其特征在于,每一迭代步的变分参数和更新步长基于以下步骤确定:
根据前一迭代步的变分参数、前一迭代步的更新步长、当前迭代步对应的差分梯度序列,和当前迭代步最新的步长更新参数,确定当前迭代步的试验变分参数;
基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,确定当前迭代步的变分参数和更新步长。
6.如权利要求5所述的方法,其特征在于,所述步长更新参数包括数值固定的第一步长更新子参数和数值可变的第二步长更新子参数;所述根据前一迭代步的变分参数、前一迭代步的更新步长、当前迭代步对应的差分梯度序列,和当前迭代步最新的步长更新参数,确定当前迭代步的试验变分参数,包括:
将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长;
基于前一迭代步的变分参数与目标乘积的差值,确定当前迭代步的试验变分参数;其中,所述目标乘积为所述试验更新步长和所述差分梯度序列的乘积。
7.如权利要求6所述的方法,其特征在于,所述基于所述试验变分参数对应的损失函数值和前一迭代步的损失函数值的大小关系,确定当前迭代步的变分参数和更新步长,包括:
若所述试验变分参数对应的损失函数值小于前一迭代步的损失函数值,将所述试验变分参数作为当前迭代步的变分参数,将所述试验更新步长作为当前迭代步的更新步长,并将所述第二步长更新子参数更新为第一预设值。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
若所述试验变分参数对应的损失函数值不小于前一迭代步的损失函数值,将所述第二步长更新子参数更新为当前第二步长更新子参数和第二预设值的乘积;
返回执行所述将前一迭代步的更新步长、所述第一步长更新子参数和所述第二步长更新子参数三者的乘积,作为当前迭代步的试验更新步长的步骤,直至试验变分参数对应的损失函数值小于前一迭代步的损失函数值。
9.如权利要求1-8任一项中所述的方法,其特征在于,所述量子态测量线路为HadamardTest线路,包括依次作用于辅助量子比特的第一H门、作用于目标量子比特的受控U门,和作用于所述辅助量子比特的第二H门;
其中,所述目标量子比特用于存储所述变分量子线路制备得到的量子态;所述受控U门的控制比特为所述辅助量子比特,该U门的矩阵形式包括所述变分量子线路当前制备的近似解对应的损失函数在泡利基上分解得到的各项。
10.一种线性方程组的量子计算模拟系统,其特征在于,所述系统包括经典处理单元、量子测控单元和量子芯片,其中:
所述经典处理单元用于构建制备线性方程组的近似解的量子态的变分量子线路,和,获取该近似解对应的损失函数值的量子态测量线路,并通过利用差分方法确定的梯度更新序列迭代更新所述变分量子线路中的变分参数,将构建的所述变分量子线路和所述量子态测量线路发送至所述量子测控单元;
所述量子测控单元用于根据所述变分量子线路和所述量子态测量线路,生成模拟计算所述线性方程组的量子脉冲信号,并对所述量子芯片上的量子比特作用所述量子脉冲信号;
所述量子芯片用于基于所述量子脉冲信号执行所述量子比特的量子态演化;
所述量子测控单元还用于获取损失函数值满足预设精度时的变分量子线路制备得到的量子态,将该量子态对应的近似解作为所述线性方程组的目标解。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1-9任一项中所述的方法。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1-9任一项中所述的方法。
CN202410138994.7A 2024-01-31 2024-01-31 一种线性方程组的量子计算模拟方法及相关装置 Pending CN118014089A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410138994.7A CN118014089A (zh) 2024-01-31 2024-01-31 一种线性方程组的量子计算模拟方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410138994.7A CN118014089A (zh) 2024-01-31 2024-01-31 一种线性方程组的量子计算模拟方法及相关装置

Publications (1)

Publication Number Publication Date
CN118014089A true CN118014089A (zh) 2024-05-10

Family

ID=90943821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410138994.7A Pending CN118014089A (zh) 2024-01-31 2024-01-31 一种线性方程组的量子计算模拟方法及相关装置

Country Status (1)

Country Link
CN (1) CN118014089A (zh)

Similar Documents

Publication Publication Date Title
CN115144934B (zh) 基于变分量子线路的气象预测方法及相关设备
CN114418105B (zh) 一种基于量子线路处理量子应用问题的方法及装置
CN111914378B (zh) 一种单振幅量子计算模拟方法及装置
CN114492815B (zh) 一种基于量子化学计算目标体系能量的方法、装置及介质
CN112884153A (zh) 处理数据的方法和相关装置
CN114519429B (zh) 获取目标体系的可观测量的方法、装置及介质
CN114936646A (zh) 一种量子化数据处理方法和装置
JP2024508076A (ja) 量子回路シミュレーション方法、装置、コンピュータ機器及びプログラム
CN115577783B (zh) 量子数据处理方法、装置、设备以及存储介质
CN118014089A (zh) 一种线性方程组的量子计算模拟方法及相关装置
CN116245184B (zh) 量子体系下的热化态制备方法、设备及存储介质
CN118014090A (zh) 一种变分量子线路的线路参数更新方法及相关装置
CN115577782A (zh) 量子计算方法、装置、设备及存储介质
CN117151231A (zh) 利用变分量子线路求解线性系统的方法、装置及介质
CN116340714B (zh) 一种张量数据处理方法及相关装置
CN116090274B (zh) 基于量子计算的材料变形模拟方法、装置、终端及介质
CN116306952B (zh) 一种分子性质预测方法、装置、存储介质及电子装置
CN114418104B (zh) 一种量子应用问题的处理方法及装置
CN114512195B (zh) 基于分子动力学模拟体系性质的计算方法、装置及介质
JP7361175B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
CN116992970A (zh) 一种量子模拟方法及装置
CN116090571A (zh) 基于广义极小残量的量子线性求解方法、装置及介质
CN118227928A (zh) 一种基于量子计算的线性方程组的求解方法及装置
CN116957084A (zh) 基于混合子空间的线性系统求解方法、装置、介质及设备
Sazo et al. Evolution of two-dimensional grain boundary networks implemented in GPU

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