CN114764618A - 一种针对线性系统的量子预处理方法及装置 - Google Patents
一种针对线性系统的量子预处理方法及装置 Download PDFInfo
- Publication number
- CN114764618A CN114764618A CN202011637102.6A CN202011637102A CN114764618A CN 114764618 A CN114764618 A CN 114764618A CN 202011637102 A CN202011637102 A CN 202011637102A CN 114764618 A CN114764618 A CN 114764618A
- Authority
- CN
- China
- Prior art keywords
- quantum
- matrix
- vector
- oracle
- quantum circuit
- 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.)
- Granted
Links
Images
Classifications
-
- 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
-
- 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/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Evolutionary Computation (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种针对线性系统的量子预处理方法及装置,方法包括:获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。利用量子的叠加特性,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,填补量子计算领域相关技术空白。
Description
技术领域
本发明属于量子计算技术领域,特别是一种针对线性系统的量子预处理方法及装置。
背景技术
量子计算是一种新型计算方式,原理是用量子力学理论构建了一种计算框架。在求解一些问题时,比起最优的经典算法,量子计算有指数加速的效果。线性系统求解就是一类可以利用量子计算来解决的问题,量子计算利用量子的叠加性,在量子线性求解器求解线性系统时有指数加速的效果,所以量子线性求解器有希望加速科学与工程领域的很多实际问题的求解过程。
但是,量子线性求解器的复杂度与线性系统的条件数κ的多项式相关,复杂度表示为所以当线性系统条件数太大时,量子线性求解器加速性能会受到很大影响,方程不容易求解。量子预处理技术就是为了解决线性系统条件数很大时,量子计算加速性能受影响而发展起来的技术。现有的量子预处理技术太过匮乏,尚未提出有效的通用量子预处理技术,且已有的量子预处理技术无法满足不同的线性系统。
基于此,有必要实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低条件数,填补相关技术空白。
发明内容
本发明的目的是提供一种针对线性系统的量子预处理方法及装置,以解决现有技术中的不足,它能够实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低条件数,填补量子计算领域相关技术空白。
本申请的一个实施例提供了一种针对线性系统的量子预处理方法,包括:
获取线性系统中第一矩阵A、第一向量b的元素信息;
根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M-1A,所述第二向量b′=M-1b;
构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
如上所述的一种针对线性系统的量子预处理方法,其中,优选的是,所述特定类元素为:非零元素。
如上所述的一种针对线性系统的量子预处理方法,其中,优选的是,所述第一量子线路包括第一Oracle和第二Oracle:
所述第一Oracle用于提取所述第二矩阵A′中非零元素的位置信息,以将所述第二矩阵A′中第j行第l个非零元的列序号编码到所述第一量子线路的量子比特位上,
所述第二Oracle用于提取所述第二矩阵A′中非零元素的元素信息,以将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。
其中,所述f(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,所述A′jk为所述第二矩阵A′中第j行第k列的非零元素。
如上所述的一种针对线性系统的量子预处理方法,其中,优选的是,所述第二Oracle由以下方式实现:
|j,k,0>|0>→|j,k,Ajk>|Ajj>→|j,k,Ajk/Ajj>|Ajj>→|j,k,Ajk/Ajj>|0>
其中,所述Ajk为所述第一矩阵A中第j行第k列的非零元素,所述Ajj为所述第一矩阵A中的主对角线上的非零元素。
如上所述的一种针对线性系统的量子预处理方法,其中,优选的是,所述第二量子线路包括第三Oracle:
所述第三Oracle用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述第二量子线路的量子比特位上,其中,编码后的所述第二量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
如上所述的一种针对线性系统的量子预处理方法,其中,优选的是,所述第三Oracle为Ob′,用于实现:
其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。
本申请的又一实施例提供了一种针对线性系统的量子预处理装置,所述装置包括:
获取模块,用于获取线性系统中第一矩阵A、第一向量b的元素信息;
构建模块,用于根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
计算模块,用于根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M-1A,所述第二向量b′=M-1b;
执行模块,用于构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
如上所述的一种针对线性系统的量子预处理装置,其中,优选的是,所述执行模块包括第一Oracle模块和第二Oracle模块:
所述第一Oracle模块用于提取所述第二矩阵A′中非零元素的位置信息,以将所述第二矩阵A′中第j行第l个非零元的列序号编码到所述第一量子线路的量子比特位上,
所述第二Oracle模块用于提取所述第二矩阵A′中非零元素的元素信息,以将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。
其中,所述f(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,所述A′jk为所述第二矩阵A′中第j行第k列的非零元素。
如上所述的一种针对线性系统的量子预处理装置,其中,优选的是,所述第二Oracle模块由以下方式实现:
|j,k,0〉|0〉→|j,k,Ajk>|Ajj>→|j,k,Ajk/Ajj>|Ajj>→|j,k,Ajk/Ajj>|0〉
其中,所述Ajk为所述第一矩阵A中第j行第k列的非零元素,所述Ajj为所述第一矩阵A中的主对角线上的非零元素。
如上所述的一种针对线性系统的量子预处理装置,其中,优选的是,所述执行模块还包括第三Oracle模块:
所述第三Oracle模块用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述第二量子线路的量子比特位上,其中,编码后的所述第二量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
如上所述的一种针对线性系统的量子预处理装置,其中,优选的是,所述第三Oracle模块为Ob′模块,用于实现:
其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
与现有技术相比,本发明提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
附图说明
图1是本发明实施例提供的一种针对线性系统的量子预处理方法的计算机终端的硬件结构框图;
图2是本发明实施例提供的一种针对线性系统的量子预处理方法的流程示意图;
图3是本发明实施例提供的一种关于T的量子线路示意图;
图4是本发明实施例提供的一种关于行走算子W的量子线路示意图;
图5是本发明实施例提供的一种实现第三Oracle功能的量子线路示意图;
图6是本发明实施例提供的一种针对线性系统的量子预处理装置的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种针对线性系统的量子预处理方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图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两种状态的叠加态,可表示为其中,a、b为表示|0〉态、|1〉态振幅(概率幅)的复数,这是经典比特不具备的。测量后,量子比特的状态会塌缩至一个确定的状态(本征态,此处为|0〉态、|1〉态),其中,塌缩至|0〉的概率是|a|2,塌缩至|1>的概率是|b|2,|a|2+|b|2=1,|>为狄拉克符号。
量子态,即指量子比特的状态,其本征态在量子算法(或称量子程序)中用二进制表示。例如,一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,从高位到低位排序为q2q1q0,该组量子比特的量子态为23个本征态的叠加态,8个本征态(确定的状态)是指:|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个本征态与量子比特位对应一致,如|000>态,000从高位到低位对应q2q1q0。简言之,量子态是各本征态组成的叠加态,当其他态的概率幅为0时,即处于其中一个确定的本征态。
参见图2,图2为本发明实施例提供的一种针对线性系统的量子预处理方法的流程示意图,可以包括如下步骤:
S201:获取线性系统中第一矩阵A、第一向量b的元素信息。
具体的,线性系统是一种数学模型,是指用线性算子组成的系统,且同时满足叠加性与均匀性(又称为齐次性)的系统,目前,线性系统是很多科学和工程领域的核心。
示例性的,获取线性系统中第一矩阵A、第一向量b的元素信息,具体包括分别获取第一矩阵A、第一向量b的元素信息及维数。具体的,对于一个N*N的第一矩阵A和一个N维第一向量b,输出n维向量x,满足即由此,第一矩阵A需要满足为可逆矩阵,且由于下述需要将第一向量b的数据加载到量子线路的缘故,第一向量b的维数N需要能表示为2的正整数次幂。若N不符合2的正整数次幂的形式,则在第一向量b的元素中补零直至满足符合2的正整数次幂的形式。同样的,第一矩阵A的维数信息也需符合2的正整数次幂的形式,若需进行补零操作的原理和方法与上述在第一向量b的元素中补零的方法相同,在此不再赘述。
示例性的,对于一个3*3的第一矩阵一个3维第一向量b=[1,2,3],获取第一矩阵A、第一向量b的元素信息,由于第一矩阵A、第一向量b的维数不满足2的正整数次幂的形式,因此需要进行补零操作,即将第一矩阵A扩充为一个4*4的矩阵:
第一向量b扩充为一个4维向量:b=[1,2,3,0]。
S202:根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M。
具体的,在一个N阶矩阵中,从左上角到右下角这一斜线上的N个元素的位置,叫做N阶矩阵的主对角线元素。
S203:根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M-1A,所述第二向量b′=M-1b。
具体的,第一矩阵A是一个N阶矩阵,若存在另一个N阶矩阵D,使得:AD=DA=I,则称第一矩阵A可逆,并称矩阵D是第一矩阵A的逆矩阵。
示例性的,根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′。接上述示例,新矩阵新矩阵M的逆矩阵由此,可根据第二矩阵A′=M-1A,所述第二向量b′=M-1b的运算关系,计算出第二矩阵和第二向量b′。
S204:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
具体的,第二矩阵A′特定类元素可以为非0元素,构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,其中,第一量子线路包括第一Oracle和第二Oracle:
其中,所述f(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,将第二矩阵A′中对应的目标行非0元素在该行所有非0中元素的序号,编码到一组量子比特位中,用以实现量子态的转换:|j,l>→|j,f(j,l)>;其中,转换后的量子态包含第二矩阵A′中的列序号信息。
在一种实现方式中,经过第一Oracle的量子态的形式可以如下:
简写为:k=f(j,l)。其中,j为目标取值,表示矩阵的第j行;表示张量积或张乘;d为第j行的非0元素总数;l为非0元素在第j行所有非0中元素的序号,表示第l个非0元素,|k>对应的量子比特位可定义为第一比特位。
根据第二矩阵A′中的矩阵信息及列下标信息,确定非0元素的元素数值,并将元素数值编码到一组量子比特位中,即将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。
其中,所述A′jk为所述第二矩阵A′中第j行第k列的非零元素。
在一种实现方式中,所述第二Oracle由以下方式实现:
|j,k,0>|0>→|j,k,Ajk〉|Ajj>→|j,k,Ajk/Ajj>|Ajj〉→|j,k,Ajk/Ajj>|0>
其中,所述Ajk为所述第一矩阵A中第j行第k列的非零元素,所述Ajj为所述第一矩阵A中的主对角线上的非零元素。
在一种可选的实施方式中,首先,可以获取初始态为0态的两组量子比特,将所述第一矩阵A中第j行和第k列用二进制表示,分别编码到第一矩阵A的行数和列数对应的一组量子比特位上,获得二进制表示的量子态|j,k,0>,此处0态对应的量子比特位用于后续编码二进制元素值。
然后,将当前第一矩阵A中第j行第k列的非零元素信息编码到|j,k,0>中0态对应的量子比特位上、将第一矩阵A中的主对角线上的非零元素编码到另一组量子比特位上,以获得二进制表示的量子态|j,k,Ajk>|Ajj>,依照相同的方法及原理,继续进行量子态的演化操作,将|j,k,Ajk>态中的Ajk与|Ajj>态中的Ajj作除法运算,得到|j,k,Ajk/Ajj>|Ajj>,最终恢复|Ajj>态为|0>,得到演化后的量子比特位的量子态为|j,k,Ajk/Ajj>|0>。其中,Ajk/Ajj即为所述第二矩阵A′第j行第k列的非零元素A′jk。
在另一种实现方式中,经过第二Oracle的量子态的形式可以如下:
其中,A′jk为矩阵第j行第k列的非0元素数值,为了区分量子比特位,可定义|A′jk>对应的量子比特位为第二比特位。
需要说明的是,如果A′jk为复数,可以将实部和虚部编码到第二比特位上,即|A′jk>=|real>|imag>,real表示实部,image表示虚部;如果A′jk写成欧拉形式reiθ,则可将r和θ的信息编码到第二比特位,即|A′jk>=|r>|θ>。
将经过第二Oracle的量子态进行预设变换,变换后的末态,其形式|Ψj>由用户预设设定,也就是用户想要获得的特定量子态,用于量子随机行走技术领域,以解决哈密顿量的模拟及求解线性方程组等问题。该量子态|Ψj>的预设形式可以为:
其中,A′jk *为第二矩阵A′第j行第k列的非0元素数值的共轭,A′max为第二矩阵A′中绝对值最大的元素数值。
需要说明的是,编码到量子比特位的量子态上,具体是指编码到量子态右矢上,如上述|Ψj>的形式,采用竖线与尖括号的组合描述一个量子态,表示量子态是一个矢量(称为态矢、基矢等等),|Ψj>表示右矢,<Ψj|表示左矢。
具体的,所述第二量子线路包括第三Oracle,第三Oracle为Ob′,用于实现:
其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。归一化就是要把需要处理的数据经过处理后限制在预设的数值,例如将m个元素数值归一化处理,使其满足所有元素数值平方和为1。其目的是为了后续数据处理的方便,其次是保证数据编码时效率加快。
第三Oracle用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述第二量子线路的量子比特位上,其中,编码后的所述第二量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
示例性的,b′=[b1,b2,b3,b4],则,将第二向量b′的数据编码到量子态振幅上,得到:
从而实现:将第二向量b′的数据加载到量子线路中2个量子比特的量子态振幅上,且编码后的第二量子线路的量子比特位上的量子态的振幅与归一化后第二向量b′的元素一一对应。
在量子应用中,通过构造一种Oracle或Oracle组合,该Oracle或组合的内部原理即为本发明的方法流程。具体的,Oracle可以理解为在量子算法中完成特定功能的模块(类似黑盒),在具体问题中会有具体的实现方式。
目前,现有的量子线路构建往往只能够利用现有的单量子逻辑门、双量子逻辑门等等,通常存在以下问题:
对于功能比较复杂的量子线路,需要用到的量子比特数量会非常多,使用经典计算机进行模拟的时候会消耗巨大的内存空间,需要用到的逻辑门数量会非常多,模拟耗时会非常长。并且,一些复杂的算法难以用量子线路进行实现。
基于此,通过改用Oracle模拟的方式实现特定的复杂功能,并实现受控和转置共轭操作。用户传入Oracle的参数,可以包括:Oracle名称(用于识别Oracle的功能用途,如Ob′)、量子比特位、矩阵元素等等。
这种方式的好处是,整体上将Oracle作为已知模块,无需关注其内部的实现细节,在量子应用场景例如量子线路的表示上,非常的简单明了。由于可以将经典模拟的Oracle功能模块等效成量子逻辑门,使得构建的量子线路得以简化,因此节省了运行时所需的内存空间,并加快量子算法的模拟验证。
参见图3,图3为本发明实施例提供的一种关于T的量子线路示意图。本领域技术人员可以理解的是,H表示H门,OF、OH、M1表示不同功能的Oracle,表示OH的转置共轭,T表示H门及Oracle组合的整体功能模块,T模块的功能即为将|j>变换为|Ψj>。并且,获得的输入该T模块的矩阵为N阶矩阵,上方|j>处中的N表示行数,下方中的N表示列数,其余表示同上。构建的T模块在量子线路中可等效于量子逻辑门,其矩阵形式为:∑j∈[N]|Ψj><j|,其中,<j|为量子态左矢。
需要说明的是,该示意图只示出了与本申请相关的部分量子线路,图中各标识及连接关系,仅仅作为示例,并不构成对本发明的限定。
参见图4,图4为本发明实施例提供的一种关于行走算子W的量子线路示意图。本领域技术人员可以理解的是,任何一个简单的函数都可以线性近似为其他函数的线性组合,可以通过Chebyshev切比雪夫多项式近似矩阵的逆函数。具体如下:
本申请中求逆矩阵,它满足O(‖A-1-F‖)=∈。线性组合为:
量子游走:为了实现Chebyshev多项式,需要在量子行走框架中进行。
和行走算子:
且:K=2|0><0|-I2N。
参见图5,图5为本发明实施例提供的一种实现第三Oracle功能的量子线路示意图。
具体的,如图5所示的量子线路示意图中,V、T表示不同功能的Oracle,""表示转置共轭,T表示H门及Oracle组合的整体功能模块T,T模块的功能即为将|j>变换为|Ψj>。并且,获得的输入该T模块的矩阵为N阶矩阵,构建的T模块在量子线路中可等效于量子逻辑门,其矩阵形式为:∑j∈[N]|Ψj><j|,其中,<j|为量子态左矢。如图5所示的量子线路可执行量子态由|b>至|b′>的量子态演化。
量子Oracle是一个黑盒表示某种量子态的转变。量子Oracle的一个典型例子是线性系统:O|x>|0>=|x>|f(x)>,此处计算f(x)用第一个量子寄存器作为输入,第二个量子寄存器作为输出。另外一个例子就是QRAM可以被视为一种Oracle。很多量子算法用到Oracle,许多量子算法都使用Oracle,但他们不关心Oracle的实现,它可以分解成量子门,也可以实现QRAM。在QPanda中,可以使用“Oracle”函数来定义。Oracle被认为是具有用户提供的名称。
可见,本申请通过将线性系统的矩阵及向量信息编码到量子态,将经典的数据结构与量子领域的量子态联系起来,并执行经典的数据结构编码到量子态的演化操作,得到演化后的量子线路的量子态,其能够利用量子的叠加特性,加速条件数较大的线性系统的求解问题,扩展量子计算的模拟应用场景。
与现有技术相比,本发明提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
参见图6,图6为本发明实施例提供的一种针对线性系统的量子预处理装置的结构示意图,与图2所示的流程相对应,可以包括:
获取模块601,用于获取线性系统中第一矩阵A、第一向量b的元素信息;
构建模块602,用于根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
计算模块603,用于根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M-1A,所述第二向量b′=M-1b;
执行模块604,用于构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
具体的,所述特定类元素为:非零元素。
具体的,所述执行模块包括第一Oracle模块和第二Oracle模块:
所述第一Oracle模块用于提取所述第二矩阵A′中非零元素的位置信息,以将所述第二矩阵A′中第j行第l个非零元的列序号编码到所述第一量子线路的量子比特位上,
所述第二Oracle模块用于提取所述第二矩阵A′中非零元素的元素信息,以将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。
其中,所述f(j,l)为所述第二矩阵A′中第j行第l个非零元的列序号,所述A′jk为所述第二矩阵A′中第j行第k列的非零元素。
具体的,所述第二Oracle模块由以下方式实现:
|j,k,0>|0>→|j,k,Ajk>|Ajj>→|j,k,Ajk/Ajj>|Ajj>→|j,k,Ajk/Ajj>|0>
其中,所述Ajk为所述第一矩阵A中第j行第k列的非零元素,所述Ajj为所述第一矩阵A中的主对角线上的非零元素。
具体的,所述执行模块还包括第三Oracle模块:
所述第三Oracle模块用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述第二量子线路的量子比特位上,其中,编码后的所述第二量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
具体的,所述第三Oracle模块为Ob′模块,用于实现:
其中,所述c′是第二向量b′的归一化常数,所述s为第二向量b′的元素个数。
与现有技术相比,本发明提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S201:获取线性系统中第一矩阵A、第一向量b的元素信息;
S202:根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
S203:根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M-1A,所述第二向量b′=M-1b;
S204:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
与现有技术相比,本发明提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
本发明实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S201:获取线性系统中第一矩阵A、第一向量b的元素信息;
S202:根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
S203:根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M-1A,所述第二向量b′=M-1b;
S204:构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
与现有技术相比,本发明提供针对线性系统的量子预处理方法,首先获取线性系统中第一矩阵A、第一向量b的元素信息,根据第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M,再根据新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,最后构建表示第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对第一量子线路和第二量子线路,分别执行量子态的演化操作,得到演化后的第一量子线路和第二量子线路的量子态。可见,利用量子的叠加特性,通过将线性系统的相关信息编码到量子态,将经典的数据结构与量子领域的量子比特的状态即量子态联系起来,实现一种可以满足不同线性系统的量子预处理技术,用于量子计算的模拟,降低线性系统的条件数,填补量子计算领域相关技术空白。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (10)
1.一种针对线性系统的量子预处理方法,其特征在于,包括:
获取线性系统中第一矩阵A、第一向量b的元素信息;
根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M-1A,所述第二向量b′=M-1b;
构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
2.根据权利要求1所述的方法,其特征在于,所述特定类元素为:非零元素。
3.根据权利要求2所述的方法,其特征在于,所述第一量子线路包括第一Oracle和第二Oracle:
所述第一Oracle用于提取所述第二矩阵A′中非零元素的位置信息,以将所述第二矩阵A′中第j行第l个非零元的列序号编码到所述第一量子线路的量子比特位上,
所述第二Oracle用于提取所述第二矩阵A′中非零元素的元素信息,以将所述第二矩阵A′中第j行第k列的元素信息编码到所述第一量子线路的量子比特位上。
5.根据权利要求4所述的方法,其特征在于,所述第二Oracle由以下方式实现:
|j,k,0〉|0〉→|j,k,Ajk>|Ajj>→|j,k,Ajk/Ajj>|Ajj>→|j,k,Ajk/Ajj>|0〉
其中,所述Ajk为所述第一矩阵A中第j行第k列的非零元素,所述Ajj为所述第一矩阵A中的主对角线上的非零元素。
6.根据权利要求2所述的方法,其特征在于,所述第二量子线路包括第三Oracle:
所述第三Oracle用于提取所述第二向量b′的元素信息,以将所述第二向量b′的元素信息编码到所述第二量子线路的量子比特位上,其中,编码后的所述第二量子线路的量子比特位上的量子态的振幅与归一化后所述第二向量b′的元素一一对应。
8.一种针对线性系统的量子预处理装置,其特征在于,所述装置包括:
获取模块,用于获取线性系统中第一矩阵A、第一向量b的元素信息;
构建模块,用于根据所述第一矩阵A的主对角线元素,构建用于线性系统预处理的新矩阵M;
计算模块,用于根据所述新矩阵M的逆矩阵,计算第二矩阵A′及第二向量b′,其中,所述第二矩阵A′=M-1A,所述第二向量b′=M-1b;
执行模块,用于构建表示所述第二矩阵A′特定类元素的量子态演化的第一量子线路、表示所述第二向量b′特定类元素的量子态演化的第二量子线路,针对所述第一量子线路和所述第二量子线路,分别执行量子态的演化操作,得到演化后的所述第一量子线路和所述第二量子线路的量子态。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011637102.6A CN114764618B (zh) | 2020-12-31 | 2020-12-31 | 一种针对线性系统的量子预处理方法及装置 |
EP21914521.6A EP4273758A1 (en) | 2020-12-31 | 2021-12-29 | Quantum preprocessing method and apparatus, storage medium, and electronic apparatus |
US18/270,605 US20240112054A1 (en) | 2020-12-31 | 2021-12-29 | Quantum preprocessing method, device, storage medium and electronic device |
PCT/CN2021/142565 WO2022143789A1 (zh) | 2020-12-31 | 2021-12-29 | 量子预处理方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011637102.6A CN114764618B (zh) | 2020-12-31 | 2020-12-31 | 一种针对线性系统的量子预处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114764618A true CN114764618A (zh) | 2022-07-19 |
CN114764618B CN114764618B (zh) | 2023-08-04 |
Family
ID=82363429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011637102.6A Active CN114764618B (zh) | 2020-12-31 | 2020-12-31 | 一种针对线性系统的量子预处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114764618B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017143195A1 (en) * | 2016-02-18 | 2017-08-24 | Microsoft Technology Licensing, Llc | Randomized gap and amplitude estimation |
US20180218279A1 (en) * | 2015-06-29 | 2018-08-02 | Universität Innsbruck | Quantum processing device and method |
WO2020033807A1 (en) * | 2018-08-09 | 2020-02-13 | Rigetti & Co, Inc. | Quantum streaming kernel |
WO2020037300A1 (en) * | 2018-08-17 | 2020-02-20 | Zapata Computing, Inc. | Quantum computer with exact compression of quantum states |
US20200104740A1 (en) * | 2018-10-02 | 2020-04-02 | Zapata Computing, Inc. | Hybrid Quantum-Classical Computer for Solving Linear Systems |
CN111563599A (zh) * | 2020-04-30 | 2020-08-21 | 合肥本源量子计算科技有限责任公司 | 一种量子线路的分解方法、装置、存储介质及电子装置 |
CN111582491A (zh) * | 2020-04-30 | 2020-08-25 | 合肥本源量子计算科技有限责任公司 | 一种量子线路的构建方法及装置 |
CN112046467A (zh) * | 2020-09-03 | 2020-12-08 | 北京量子信息科学研究院 | 一种基于量子计算的自动驾驶控制方法及系统 |
-
2020
- 2020-12-31 CN CN202011637102.6A patent/CN114764618B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180218279A1 (en) * | 2015-06-29 | 2018-08-02 | Universität Innsbruck | Quantum processing device and method |
WO2017143195A1 (en) * | 2016-02-18 | 2017-08-24 | Microsoft Technology Licensing, Llc | Randomized gap and amplitude estimation |
WO2020033807A1 (en) * | 2018-08-09 | 2020-02-13 | Rigetti & Co, Inc. | Quantum streaming kernel |
WO2020037300A1 (en) * | 2018-08-17 | 2020-02-20 | Zapata Computing, Inc. | Quantum computer with exact compression of quantum states |
US20200104740A1 (en) * | 2018-10-02 | 2020-04-02 | Zapata Computing, Inc. | Hybrid Quantum-Classical Computer for Solving Linear Systems |
CN111563599A (zh) * | 2020-04-30 | 2020-08-21 | 合肥本源量子计算科技有限责任公司 | 一种量子线路的分解方法、装置、存储介质及电子装置 |
CN111582491A (zh) * | 2020-04-30 | 2020-08-25 | 合肥本源量子计算科技有限责任公司 | 一种量子线路的构建方法及装置 |
CN112046467A (zh) * | 2020-09-03 | 2020-12-08 | 北京量子信息科学研究院 | 一种基于量子计算的自动驾驶控制方法及系统 |
Non-Patent Citations (1)
Title |
---|
张 衡: "一维问题一次形函数有限元方程的条件数与预处理", 《福建师大福清分校学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114764618B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113222150B (zh) | 一种量子态的变换方法及装置 | |
CN113850389B (zh) | 一种量子线路的构建方法及装置 | |
CN114764549B (zh) | 基于矩阵乘积态的量子线路模拟计算方法、装置 | |
CN112633508A (zh) | 一种量子线路的生成方法、装置、存储介质及电子装置 | |
CN113222161B (zh) | 一种自定义量子逻辑门的实现方法、装置 | |
CN114358319A (zh) | 基于机器学习框架的分类方法及相关装置 | |
CN113222151B (zh) | 一种量子态的变换方法及装置 | |
CN113222153B (zh) | 一种量子态的模拟方法、装置、存储介质和电子装置 | |
CN114819163B (zh) | 量子生成对抗网络的训练方法、装置、介质及电子装置 | |
CN113222157A (zh) | 一种量子模拟方法、装置、电子装置及存储介质 | |
CN113222156A (zh) | 一种待执行操作的量子模拟方法、装置 | |
CN114358295B (zh) | 基于机器学习框架的二分类方法及相关装置 | |
CN114511094B (zh) | 一种量子算法的优化方法、装置、存储介质与电子装置 | |
CN115809707B (zh) | 量子比较运算方法、装置、电子装置及基础算术组件 | |
CN114764619B (zh) | 一种基于量子线路的卷积操作方法及装置 | |
CN114764618B (zh) | 一种针对线性系统的量子预处理方法及装置 | |
CN114692879B (zh) | 一种基于稀疏线性系统的量子预处理方法及装置 | |
CN114819167B (zh) | 一种稀疏线性系统的稀疏近似逆量子预处理方法及装置 | |
WO2022143789A1 (zh) | 量子预处理方法、装置、存储介质及电子装置 | |
CN114372582B (zh) | 基于机器学习框架的量子自动编码方法及相关装置 | |
CN116049506B (zh) | 基于量子计算的数值查找方法、装置、设备及存储介质 | |
WO2024007919A1 (zh) | 基于lbm的量子流动模拟方法、装置、介质及设备 | |
CN115114569A (zh) | 一种基于量子线路的非线性偏微分方程求解方法及装置 | |
CN117669757A (zh) | 一种哈密顿量的构造方法及装置 | |
CN114969629A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |