CN113222157B - 一种量子模拟方法、装置、电子装置及存储介质 - Google Patents
一种量子模拟方法、装置、电子装置及存储介质 Download PDFInfo
- Publication number
- CN113222157B CN113222157B CN202010072078.XA CN202010072078A CN113222157B CN 113222157 B CN113222157 B CN 113222157B CN 202010072078 A CN202010072078 A CN 202010072078A CN 113222157 B CN113222157 B CN 113222157B
- Authority
- CN
- China
- Prior art keywords
- quantum
- arithmetic operation
- basic arithmetic
- bits
- quantum state
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000002096 quantum dot Substances 0.000 claims description 85
- 230000021615 conjugation Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004364 calculation method Methods 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
-
- 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)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于量子计算领域,特别是一种量子模拟方法、装置、电子装置及存储介质,该方法包括获取一组量子比特位及其表示的量子态空间;针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的子量子态;对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;将所述运算结果编码至所述一组量子比特位中的部分量子比特位上,并更新所述量子态空间。本发明通过量子态空间的各本征态携带的数值信息的提取、运算和在编码,进行了量子态信息的全方位计算,进而实现可以用于量子线路中的基本算术运算操作的模拟,填补了相关技术的空白。
Description
技术领域
本发明属于量子计算领域,特别是一种量子模拟方法、装置、电子装置及存储介质。
背景技术
量子计算机利用量子的叠加性,理论上在某些情形下有指数级加速的能力。譬如破解RSA密钥在经典计算机上需要数百年,而在量子计算机上执行量子算法只需数小时。但是目前量子计算机的受限于量子芯片硬件的发展导致的可操控的比特数有限,因此计算能力有限,并不能普遍地去运行量子算法。普遍地运行量子算法通常需要借助量子计算模拟方法。
在量子算法的模拟实现过程中,通常需要借助各种量子逻辑门构建量子算法,但是,仅依靠各种量子逻辑门构建量子算法时,并没有对应经典运算例如加、减、乘、除的基本算术运算操作的量子逻辑门。同时,依靠各种量子逻辑门构建实现基本算术运算操作功能的等效量子逻辑门时,会存在所需要的各种量子逻辑门数量庞大,构建的量子算法对应的量子线路过于复杂,严重妨碍了量子计算的研究。
因此,急需提供一种能够模拟量子线路中的基本算术运算操作的技术,以填补相关技术空白。
发明内容
本发明的目的是提供一种量子模拟方法、装置、电子装置及存储介质,以解决现有技术中的不足,它能够填补相关技术空白,用于量子线路中模拟基本算术运算操作。
本发明的一个实施例提供了一种量子模拟方法,用于模拟基本算术运算操作,所述方法包括:获取一组量子比特位及其表示的量子态空间;针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的子量子态;对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;将所述运算结果编码至所述一组量子比特位中的部分量子比特位上,并更新所述量子态空间。
如上所述的量子模拟方法,其中,优选的是,所述部分量子比特位包括表示所述基本算术运算操作的操作对象的量子比特位之一。
如上所述的量子模拟方法,其中,优选的是,所述部分量子比特位还包括辅助量子比特位;所述辅助量子比特位用于编码所述运算结果中除编码至表示所述基本算术运算操作的其中一个操作对象的量子比特位之外的信息。
如上所述的量子模拟方法,其中,优选的是,所述对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;包括:获取所述基本算术运算操作的类型标识;其中,所述基本算术运算操作的类型标识为加法运算、减法运算、乘法运算、除法运算之一;对两所述子量子态对应的数值执行所述类型标识对应的所述基本算术运算操作,获得运算结果。
如上所述的量子模拟方法,其中,优选的是,所述对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;包括:判断所述基本算术运算操作是否处于转置共轭状态;当所述基本算术运算操作处于转置共轭状态时,确定所述基本算术运算操作对应的转置共轭辅助算术操作;对两所述子量子态对应的数值执行所述转置共轭辅助算术操作,获得运算结果。
如上所述的量子模拟方法,其中,优选的是,所述一组量子比特位还包括标识控制所述基本算术运算操作执行与否的第一量子比特位;所述方法还包括:
根据所述第一量子比特位的量子态,判断所述两所述子量子态对应的数值是否执行所述基本算术运算操作。
如上所述的量子模拟方法,其中,优选的是,所述根据所述第一量子比特位的量子态,判断所述两所述子量子态对应的数值是否执行所述基本算术运算操作,包括:
针对所述量子态空间的各本征态,均获得所述本征态中对应所述第一量子比特位的第一子量子态;当所述第一子量子态所有位均为1时,两所述子量子态对应的数值执行所述基本算术运算操作。
如上所述的量子模拟方法,其中,优选的是,所述将所述运算结果编码至所述一组量子比特位中的部分量子比特位上,并更新所述量子态空间,包括:
将所述运算结果编码至表示任一所述操作对象的子量子态所对应的量子比特位上,得到结果量子态;确定当前所述本征态的振幅为所述结果量子态的振幅;根据所有所述结果量子态及对应的振幅更新所述量子态空间。
本发明的另一实施例提供了一种量子模拟装置,用于模拟基本算术运算操作,所述装置包括:
第一获取模块,用于获取一组量子比特位及其表示的量子态空间;第二获取模块,用于针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的子量子态;运算模块,对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;更新模块,用于将所述运算结果编码至所述一组量子比特位中的部分量子比特位上,并更新所述量子态空间。
优选的,如上所述的量子模拟装置,所述运算模块包括:
第一子获取模块,用于获取所述基本算术运算操作的类型标识;其中,所述基本算术运算操作的类型标识为加法运算、减法运算、乘法运算、除法运算之一;第一子运算模块,用于对两所述子量子态对应的数值执行所述类型标识对应的所述基本算术运算操作。
优选的,如上所述的量子模拟装置,所述运算模块包括:
第一判断模块,用于判断所述基本算术运算操作是否处于转置共轭状态第一确定模块,用于当所述基本算术运算操作处于转置共轭状态时,确定所述基本算术运算操作对应的转置共轭辅助算术操作;第二子运算模块,用于对两所述子量子态对应的数值执行所述转置共轭辅助算术操作,获得运算结果。
优选的,如上所述的量子模拟装置,所述一组量子比特位还包括标识控制所述基本算术运算操作执行与否的第一量子比特位;
所述装置还包括:
第二判断模块,用于根据所述第一量子比特位的量子态判断所述两所述子量子态对应的数值是否执行所述基本算术运算操作。
本发明的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行以上所述的方法。
本发明的再一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行如上所述的方法。
与现有技术相比,本发明提供的量子计算模拟方法,用于模拟量子线路中的基本算术运算操作,获取一组量子比特位及其表示的量子态空间;针对所述量子态空间的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的子量子态;对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;将所述运算结果编码至所述一组量子比特位中的部分量子比特位上更新所述量子态空间;输出更新后的所述量子态空间。本发明通过获得所述一组量子比特位及其表示的量子态空间的各本征态上中分别表示所述基本算术运算操作的两操作对象的子量子态(即各本征态携带的数值信息的提取)以及对其执行所述基本算术运算操作,并将所述运算结果编码至所述一组量子比特位中的部分量子比特位上更新所述量子态空间,通过量子态空间的各本征态携带的数值信息的提取、运算和在编码后的输出,实现可以用于量子线路中的基本算术运算操作的模拟,填补了相关技术的空白。
附图说明
图1是本申请实施例的一种量子程序运行方法的计算机终端的硬件结构框图;
图2是本发明一实施例提供的量子模拟方法的流程示意图;
图3是本发明一实施例提供的量子模拟装置示意图;
图4是本发明另一实施例提供的量子模拟装置示意图;
图5是本发明再一实施例提供的量子模拟装置示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明的实施例提供了一种实现量子模拟方法,用于在量子线路中模拟对量子比特位的基本算术运算操作,该方法可以应用于电子设备,如移动终端,具体如手机、平板电脑;如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图1是本申请实施例的一种量子计算模拟硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输装置106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的量子计算模拟方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
需要说明的是,真正的量子计算机是混合结构的,它包含两大部分:一部分是经典计算机,负责执行经典计算与控制;另一部分是量子设备,负责运行量子程序进而实现量子计算。而量子程序是由量子语言如Qrunes语言编写的一串能够在量子计算机上运行的指令序列,实现了对量子逻辑门操作的支持,并最终实现量子计算。具体的说,量子程序就是一系列按照一定时序操作量子逻辑门的指令序列。
在实际应用中,因受限于量子设备硬件的发展,通常需要进行量子计算模拟以验证量子算法、量子应用等等。量子计算模拟即借助通普通计算机的资源搭建的虚拟架构(即量子虚拟机)实现特定问题对应的量子程序的模拟运行的过程。通常,需要构建特定问题对应的量子程序。本发明实施例所指量子程序,即是经典语言编写的表征量子比特位及其演化的程序,其中与量子计算相关的量子比特位、量子逻辑门等等均有相应的经典代码表示。
量子线路作为量子程序的一种体现方式,也称量子逻辑电路,是最常用的通用量子计算模型,表示在抽象概念下对于量子比特位进行操作的线路,其组成包括量子比特位、线路(时间线),以及各种量子逻辑门,最后常需要通过量子测量操作将结果读取出来。
不同于传统电路是用金属线所连接以传递电压信号或电流信号,在量子线路中,线路可看成是由时间所连接,亦即量子比特位的状态随着时间自然演化,在这过程中按照哈密顿运算符的指示,一直到遇上逻辑门而***作。
一个量子程序整体上对应有一条总的量子线路,本发明所述量子程序即指该条总的量子线路,其中,该总的量子线路中的量子比特位总数与量子程序的量子比特位总数相同。可以理解为:一个量子程序可以由量子线路、针对量子线路中量子比特位的测量操作、保存测量结果的寄存器及控制流节点(跳转指令)组成,一条量子线路可以包含几十上百个甚至千上万个量子逻辑门操作。量子程序的执行过程,就是对所有的量子逻辑门按照一定时序执行的过程。需要说明的是,时序即单个量子逻辑门被执行的时间顺序。
需要说明的是,经典计算中,最基本的单元是比特,而最基本的控制模式是逻辑门,可以通过逻辑门的组合来达到控制电路的目的。类似地,处理量子比特位的方式就是量子逻辑门。使用量子逻辑门,能够使量子态发生演化,量子逻辑门是构成量子线路的基础,量子逻辑门包括单比特量子逻辑门,如Hadamard门(H门)、Pauli-X门、Pauli-Y门、Pauli-Z门、RX门、RY门、RZ门;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。
目前,并没有可以实现一些经典运算例如四则运算功能,示例性的:加、减、乘、除运算量子逻辑门,为了在量子程序中实现四则运算的功能,通常借助大量的上述常见逻辑门去构造复杂的量子线路以实现任一四则运算的功能操作,进而严重影响了量子计算的发展,以及量子应用领域的扩展和落地。以上功能的量子实现对量子程序的构建、复杂量子计算问题的解决可以起到如虎添翼的作用。
本发明的一实施例提供了一种量子模拟方法,用于模拟基本算术运算操作,基本算术运算操作可以为加法运算、减法运算、乘法运算、除法运算,如图2所示,所述方法包括:
S101,获取一组量子比特位及其表示的量子态空间。
量子比特位表示的量子态空间,是指量子比特位对应的所有本征态表征的量子态信息。其中,量子比特位对应的所有本征态表征的数量是2的量子比特位的个数次方。
例如:例如一组量子比特位q0、q1、q2,表示第0位、第1位、第2位量子比特位,从高位到低位排序为q2q1q0,则该组量子比特位对应的本征态总共有8个,分别为:|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,该8个本征态之间的叠加态,一起组成量子态ψ:其中,
ψ=a0|000>+a1|001>+a2|010>+a3|011>+a4|100>+a5|101>+a6|110>+a7|111>,
其中:a0、a1、a2、a3、a4、a5、a6、a7均为复数,且
|a0|2+|a1|2+|a2|2++|a3|2+|a4|2+|a5|2+|a6|2+|a7|2=1。
获取一组量子比特位通过用户输入实现,该组量子比特位的个数可以根据待模拟的基本算术运算操作设置。
需要说明的是,该组量子比特位需要至少包括表示所述基本算术运算操作的两操作对象的量子比特位。同时,该组量子比特位还可以包括存储运算结果的量子比特位。
其中,存储运算结果的量子比特位可以与表示所述基本算术运算操作的两操作对象的量子比特位重合,即存储运算结果的量子比特位可以为表示所述基本算术运算操作的操作对象的量子比特位之一。
当存储运算结果的量子比特位为表示所述基本算术运算操作的操作对象的量子比特位之一时,一方面减少了模拟基本算术运算操作所需要的量子比特位数量;另一方面,可以方便基本算术运算操作逆操作的模拟。
其中,可以理解的是,所述加法运算对应的逆操作为减法运算;所述减法运算对应的逆操作为加法运算;所述乘法运算对应的逆操作为除法运算;所述除法运算对应的逆操作为乘法运算。
对应与量子逻辑门的逆操作标识为转置共轭状态标识基本算术运算操作的逆操作也可以通过转置共轭状态标识/>标记。
示例性的,加法运算标识为Oadd,加法运算的逆操作可以标识为减法运算标识为Osub,减法运算的逆操作可以标识为/>乘法运算标识为Omulti,乘法运算的逆操作可以标识为/>减法运算标识为Odiv,减法运算的逆操作可以标识为/>
S102,针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的子量子态。
具体的,如上所述,用户输入的一组量子比特位中,至少包括表示所述基本算术运算操作的两操作对象的量子比特位,同时,还包括其它用途的量子比特位,包括但不限于编码运算结果的量子比特位、标识控制所述基本算术运算操作执行与否的量子比特位、在量子线路中通过量子逻辑门控制表示所述基本算术运算操作的两操作对象子量子态信息变化的其它量子比特位,也可以记为纠错量子比特位。
针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的子量子态。即根据编码所述基本算术运算操作的两操作对象的指定量子比特位,获得指定量子比特位对应的量子态。
示例性的,针对待模拟基本算术运算操作Oadd:|a>|b>→|a+b>|b>,其中,a和b为十进制数。用户输入一组量子比特位分别为q0、q1、q2、q3、q4、q5、q6、q7、q8,表示第0位至第8位量子比特位,从高位到低位排序为q8q7q6q5q4q3q2q1q0,其中,指定q3q2q1q0用来编码a;q7q6q5q4用来编码b;则该组量子比特位对应的29=512个本征态中,均获得对应q3q2q1q0和q7q6q5q4的子量子态。
其中,需要说明的是,用来编码a的量子比特位的指定以及编码b的量子比特位的指定和十进制的大小以及十进制数在量子态上的存储精度有关有关。
其中,十进制数在量子态上的存储实现可以简单描述为,将十进制数转化为二进制数,将二进制数编码到指定位数的量子比特位上。指定位数可以等于二进制数的位数或者大于二进制数的位数,以保证十进制数的存储精度。
在本实施例中,优选用来编码a的量子比特位的个数与用来编码b的量子比特位的个数一致。在实际应用中,本领域技术人员可以按需设置编码a的量子比特位的个数和用来编码b的量子比特位的个数。
S103,对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果。
具体的,S102中从各本征态中提取的子量子态是二进制表示,对两二进制表示的数值执行基本算术运算操作,即可获得运算结果。
对两二进制表示的数值执行基本算术运算操作时,需要考虑两二进制表示的数值的位数。当两者一致的时候,直接执行基本算术运算操作即可;当两者不一致的时候,本领域技术人员可以根据不同位数的二进制数值的基本算术运算操作进行即可。
S104,将所述运算结果编码至所述一组量子比特位中的部分量子比特位上,并更新所述量子态空间。
需要说明的是,部分量子比特位是所述一组量子比特位中指定的用来编码运算结果的量子比特位。用来编码运算结果的量子比特位的个数由运算类型和参与运算的数值决定的运算结果的特点确定。通常,编码运算结果的量子比特位的个数需要大于等于用来编码a的量子比特位的个数和用来编码b的量子比特位的个数两种中较大的一个。
具体的,对于加法运算和减法运算,当用来编码a的量子比特位的个数与用来编码b的量子比特位的个数一致时,运算结果与参与运算的数值处于相同量级,此时用来编码运算结果的量子比特位的个数可以与编码a的量子比特位的个数或用来编码b的量子比特位的个数一致;或运算结果与参与运算的数值大一个量级,则编码运算结果的量子比特位比编码a的量子比特位的个数或用来编码b的量子比特位的个数要多。
示例性的:4(对应编码在3个量子比特位的量子态表示为100)+2(对应编码在3个量子比特位的量子态表示为010)=6(对应编码在3个量子比特位的量子态表示为110)。此时编码运算结果的量子比特位比编码a的量子比特位的个数或用来编码b的量子比特位的个数一致。
示例性的:4(对应编码在3个量子比特位的量子态表示为100)+7(对应编码在3个量子比特位的量子态表示为111)=11(对应编码在3个量子比特位的量子态表示为011),但是,可以理解的是11对应的二进制数为1011,最左侧的1所在的位为进位项,该进位项可以通过辅助量子比特位表示。此时编码运算结果的量子比特位比编码a的量子比特位的个数或用来编码b的量子比特位的个数要多。
示例性的,4(对应编码在3个量子比特位的量子态表示为100)-2(对应编码在3个量子比特位的量子态表示为010)=2(对应编码在3个量子比特位的量子态表示为010)。此时编码运算结果的量子比特位与编码a的量子比特位的个数或用来编码b的量子比特位的个数一致。
示例性的,4(对应编码在3个量子比特位的量子态表示为100)-7(对应编码在3个量子比特位的量子态表示为111)=-3(对应编码在3个量子比特位的量子态表示为100)。此时,编码“-3”数值的数值项“3”与编码a的量子比特位的个数或用来编码b的量子比特位的个数一致。但是需要编码“-3”符号的符号项的辅助量子比特位表示。整体编码运算结果的量子比特位比编码a的量子比特位的个数或用来编码b的量子比特位的个数要多。
对于乘法运算,当用来编码a的量子比特位的个数与用来编码b的量子比特位的个数一致时,运算结果与参与运算的数值的量级也会有明显差别,此时用来编码运算结果的量子比特位的个数会明显大于编码a的量子比特位的个数或用来编码b的量子比特位的个数。
示例性的:当4(对应编码在3个量子比特位的量子态表示为100)*7(对应编码在3个量子比特位的量子态表示为111)=28。可以理解的是28对应的二进制数为11100,即编码28至少需要5个量子比特位。
而对于除法运算,即使用来编码a的量子比特位的个数与用来编码b的量子比特位的个数一致时,运算结果也可能会与参与运算的数值编码结果存在明显差别。
示例性的,当5(对应编码在3个量子比特位的量子态表示为101)除以2(对应编码在3个量子比特位的量子态表示为010)=2.5。可以理解的是2.5的整数部分对应的二进位值数值为010(编码到三个量子比特位上),而2.5的小数部分0.5对应的二进位值数值由存储精度决定。
由以上介绍可知,在加、减、乘、除基本算术运算操作中,当运算的两操作对象为编码在个数相同的量子比特位的量子态信息时,编码运算结果所需要的量子比特位的数量是大于等于编码操作对象的量子比特位的个数的。
即所述部分量子比特位的个数大于等于编码基本算术运算操作的操作对象的子量子态对应的量子比特位的个数。此时来编码运算结果的量子比特位(即部分量子比特位)的指定可以根据对一组量子比特位的使用安排而定。
具体的,指定所述部分量子比特位包括表示所述基本算术运算操作的操作对象的子量子态对应的量子比特位之一。同时指定所述部分量子比特位还可以包括辅助量子比特位;所述辅助量子比特位用于编码所述运算结果中除编码至表示所述基本算术运算操作的其中一个操作对象的子量子态对应的量子比特位之外的信息。该信息包括但不限定于加法运算中的进位项信息、减法运算中的符号项信息、乘法运算中的增加项信息、除法运算中的精度项信息。
需要说明的是,为了保证基于量子态的数值运算的可逆性和量子态信息的保留,辅助量子比特位不能与任何表示所述基本算术运算操作的操作对象的子量子态对应的量子比特位重合。
另外,需要说明的是,编码运算结果所需要的量子比特位的初始量子态可以与编码基本算术运算的其中一个操作对象的量子比特位的初始态相同,或者编码运算结果所需要的量子比特位的初始量子态为0态。前者适用于编码运算结果所需要的量子比特位(即部分量子比特位)为编码基本算术运算的其中一个操作对象的量子比特位的情况,后者适用于编码运算结果所需要的量子比特位(即部分量子比特位)与编码基本算术运算的任何操作对象的量子比特位均不重合的情况。
可以理解的是,当用于编码运算结果的部分量子比特位指定之后,将所述运算结果编码至所述一组量子比特位中的部分量子比特位上,是将运算结果对应的二进位数值编码到指定的部分量子比特位上,该编码过程可以理解为:将当前本征态中对应部分量子比特位的子量子态替换为运算结果对应的二进位数值,导致当前本征态发生变化,记变化后的整体本征态为结果量子态。
然后确定当前所述本征态的振幅为所述结果量子态的振幅并根据所有所述结果量子态及对应的振幅即可更新所述量子态空间,进而完成了整个基本算术运算操作的模拟。更新之后所述量子态空间可以直接输出给用户,也可以直接再量子线路中作为量子态信息传输演变。
本发明通过获得所述一组量子比特位及其表示的量子态空间的各本征态上中分别表示所述基本算术运算操作的两操作对象的子量子态(即各本征态携带的数值信息的提取)以及对其执行所述基本算术运算操作,并将所述运算结果编码至所述一组量子比特位中的部分量子比特位上更新所述量子态空间,通过量子态空间的各本征态携带的数值信息的提取、运算和在编码,进行了量子态信息的全方位计算,进而实现可以用于量子线路中的基本算术运算操作的模拟,填补了相关技术的空白。
本实施例实施时,因基本算术运算操作具有加法运算、减法运算、乘法运算、除法运算四类,所以,作为本实施例的优选技术方案,所述对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;包括:
获取所述基本算术运算操作的类型标识;其中,所述基本算术运算操作的类型标识为加法运算、减法运算、乘法运算、除法运算之一;对两所述子量子态对应的数值执行所述类型标识对应的所述基本算术运算操作,获得运算结果。
另外,如上描述,所述加法运算对应的逆操作为减法运算;所述减法运算对应的逆操作为加法运算;所述乘法运算对应的逆操作为除法运算;所述除法运算对应的逆操作为乘法运算。
对应与量子逻辑门的逆操作标识为转置共轭状态标识基本算术运算操作的逆操作也可以通过转置共轭状态标识/>标记。
示例性的,加法运算标识为Oadd,加法运算的逆操作可以标识为减法运算标识为Osub,减法运算的逆操作可以标识为/>
所以在对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果时,需要判断所述基本算术运算操作是否处于转置共轭状态,当所述基本算术运算操作处于转置共轭状态时,确定所述基本算术运算操作对应的转置共轭辅助算术操作,然后对两所述子量子态对应的数值执行所述转置共轭辅助算术操作,获得运算结果。
示例性的,基本算术运算操作是当所述基本算术运算操作处于转置共轭状态时,确定所述基本算术运算操作对应的转置共轭辅助算术操作为减法操作,对两所述子量子态对应的数值执行所述转置共轭辅助算术操作,即执行减法操作,获得运算结果。
通过判断所述基本算术运算操作是否处于转置共轭状态,当所述基本算术运算操作处于转置共轭状态时,确定所述基本算术运算操作对应的转置共轭辅助算术操作,然后对两所述子量子态对应的数值执行所述转置共轭辅助算术操作,获得运算结果,使得基本算术运算操作与量子逻辑门一样,均支持转置共轭操纵。
另外,再如上描述,一组量子比特位中还包括标识控制所述基本算术运算操作执行与否的量子比特位,即所述一组量子比特位还包括标识控制所述基本算术运算操作执行与否的第一量子比特位;此时,所述方法还包括:
根据所述第一量子比特位的量子态,判断所述两所述子量子态对应的数值是否执行所述基本算术运算操作,具体如下:
针对所述量子态空间的各本征态,均获得所述本征态中对应所述第一量子比特位的第一子量子态;当所述第一子量子态所有位均为1时,两所述子量子态对应的数值执行所述基本算术运算操作。
通过设置标识控制所述基本算术运算操作执行与否的第一量子比特位,可以控制所述基本算术运算操作执行与否,使得基本算术运算操作与量子逻辑门均支持受控操作。
通过以上描述,本实施例提供了一种支持支持受控操作和转置共轭操作的基本算术运算操作的模拟方法,该方法可以用于构建实现基本算术运算操作功能的Oracle模块,该Oracle模块类比与量子逻辑门,接收量子比特位及其表示的量子态空间(即量子态信息)的输入,然后作用于量子比特位,即对量子比特位携带的量子态信息进行基本算术运算操作,获得运算之后的量子态信息(即更新量子态空间)。该Oracle模块可以作为一类似量子比特位门,直接用于量子线路中来构建量子线路,会极大的方便量子程序的构建,以及量子计算应用的落地拓展。
本发明的另一实施例提供了一种量子模拟装置,用于模拟基本算术运算操作,如图3所示的量子模拟装置包括:
第一获取模块201,用于获取一组量子比特位及其表示的量子态空间;
第二获取模块202,用于针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的子量子态;
运算模块203,对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;
更新模块204,用于将所述运算结果编码至所述一组量子比特位中的部分量子比特位上,并更新所述量子态空间。
优选的,继续如图3所示,所述运算模块包括203:
第一子获取模块2031,用于获取所述基本算术运算操作的类型标识;其中,所述基本算术运算操作的类型标识为加法运算、减法运算、乘法运算、除法运算之一;
第一子运算模块2032,用于对两所述子量子态对应的数值执行所述类型标识对应的所述基本算术运算操作。
优选的,如图4所示,所述运算模块203包括:
第一判断模块2041,用于判断所述基本算术运算操作是否处于转置共轭状态;
第一确定模块2042,用于当所述基本算术运算操作处于转置共轭状态时,确定所述基本算术运算操作对应的转置共轭辅助算术操作;
第二子运算模块2043,用于对两所述子量子态对应的数值执行所述转置共轭辅助算术操作,获得运算结果。
优选的,如图5所示,所述运算模块203包括:
第二子获取模块2051,用于获取所述基本算术运算操作的类型标识;其中,所述基本算术运算操作的类型标识为加法运算、减法运算、乘法运算、除法运算之一;
第二子判断模块2052,用于判断所述类型标识对应的基本算术运算操作是否处于转置共轭状态;
第二子确定模块2053,用于当所述类型标识对应的基本算术运算操作处于转置共轭状态时,确定所述类型标识对应的基本算术运算操作对应的转置共轭辅助算术操作;
第三子运算模块2054,用于对两所述子量子态对应的数值执行所述转置共轭辅助算术操作,获得运算结果。
优选的,所述一组量子比特位还包括标识控制所述基本算术运算操作执行与否的第一量子比特位;继续如图3、图4或图5之一所示,所述装置还包括:
第二判断模块205,用于根据所述第一量子比特位的量子态判断所述两所述子量子态对应的数值是否执行所述基本算术运算操作。
本发明的再一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行如下所述的方法:
S301,获取一组量子比特位及其表示的量子态空间;
S302,针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的子量子态;
S303,对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;
S304,将所述运算结果编码至所述一组量子比特位中的部分量子比特位上,并更新所述量子态空间。
本发明的再一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行如下所述的方法:
S401,获取一组量子比特位及其表示的量子态空间;
S402,针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的子量子态;
S403,对两所述子量子态对应的数值执行所述基本算术运算操作,获得运算结果;
S404,将所述运算结果编码至所述一组量子比特位中的部分量子比特位上,并更新所述量子态空间。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (13)
1.一种量子模拟方法,用于模拟基本算术运算操作,其特征在于,所述方法包括:
获取一组量子比特位及其表示的量子态空间,所述一组量子比特位需要至少包括表示基本算术运算操作的两操作对象的比特位,所述量子态空间指量子比特位对应的所有本征态表征的量子态信息;
针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的指定量子比特对应的量子态;
对指定量子比特对应的量子态对应的数值执行所述基本算术运算操作,获得运算结果;
将所述运算结果编码至所述一组量子比特位中的部分比特位上,并更新所述量子态空间,所述部分比特位包括表示所述基本算术运算操作的操作对象的比特位之一。
2.根据权利要求1所述的量子模拟方法,其特征在于:所述部分比特位还包括辅助比特位;
所述辅助比特位用于编码所述运算结果中除编码至表示所述基本算术运算操作的其中一个操作对象的比特位之外的信息。
3.根据权利要求2所述的量子模拟方法,其特征在于:所述对指定量子比特对应的量子态对应的数值执行所述基本算术运算操作,获得运算结果;包括:
获取所述基本算术运算操作的类型标识;其中,所述基本算术运算操作的类型标识为加法运算、减法运算、乘法运算、除法运算之一;
对指定量子比特对应的量子态对应的数值执行所述类型标识对应的所述基本算术运算操作,获得运算结果。
4.根据权利要求2所述的量子模拟方法,其特征在于:所述对指定量子比特对应的量子态对应的数值执行所述基本算术运算操作,获得运算结果;包括:
判断所述基本算术运算操作是否处于转置共轭状态;
当所述基本算术运算操作处于转置共轭状态时,确定所述基本算术运算操作对应的转置共轭辅助算术操作;
对指定量子比特对应的量子态对应的数值执行所述转置共轭辅助算术操作,获得运算结果。
5.根据权利要求1所述的量子模拟方法,其特征在于:所述一组量子比特位还包括标识控制所述基本算术运算操作执行与否的第一量子比特位;
所述方法还包括:
根据所述第一量子比特位的量子态,判断所述指定量子比特对应的量子态对应的数值是否执行所述基本算术运算操作。
6.根据权利要求5所述的量子模拟方法,其特征在于:所述根据所述第一量子比特位的量子态,判断所述指定量子比特对应的量子态对应的数值是否执行所述基本算术运算操作,包括:
针对所述量子态空间的各本征态,均获得所述本征态中对应所述第一量子比特位的第一子量子态;
当所述第一子量子态所有位均为1时,指定量子比特对应的量子态对应的数值执行所述基本算术运算操作。
7.根据权利要求1-6任一项所述的量子模拟方法,其特征在于:所述将所述运算结果编码至所述一组量子比特位中的部分比特位上,并更新所述量子态空间,包括:
将所述运算结果编码至表示任一所述操作对象的子量子态所对应的比特位上,得到结果量子态;
确定当前所述本征态的振幅为所述结果量子态的振幅;
根据所有所述结果量子态及对应的振幅更新所述量子态空间。
8.一种量子模拟装置,用于模拟基本算术运算操作,其特征在于,所述装置包括:
第一获取模块,用于获取一组量子比特位及其表示的量子态空间,所述一组量子比特位需要至少包括表示基本算术运算操作的两操作对象的比特位,所述量子态空间指量子比特位对应的所有本征态表征的量子态信息;
第二获取模块,用于针对所述量子态空间中的各本征态,均获得所述本征态中分别表示所述基本算术运算操作的两操作对象的指定量子比特对应的量子态;
运算模块,对指定量子比特对应的量子态对应的数值执行所述基本算术运算操作,获得运算结果;
更新模块,用于将所述运算结果编码至所述一组量子比特位中的部分比特位上,并更新所述量子态空间,所述部分比特位包括表示所述基本算术运算操作的操作对象的比特位之一。
9.根据权利要求8所述的量子模拟装置,其特征在于:所述运算模块包括:
第一子获取模块,用于获取所述基本算术运算操作的类型标识;其中,所述基本算术运算操作的类型标识为加法运算、减法运算、乘法运算、除法运算之一;
第一子运算模块,用于对指定量子比特对应的量子态对应的数值执行所述类型标识对应的所述基本算术运算操作。
10.根据权利要求8所述的量子模拟装置,其特征在于:所述运算模块包括:
第一判断模块,用于判断所述基本算术运算操作是否处于转置共轭状态;
第一确定模块,用于当所述基本算术运算操作处于转置共轭状态时,确定所述基本算术运算操作对应的转置共轭辅助算术操作;
第二子运算模块,用于对指定量子比特对应的量子态对应的数值执行所述转置共轭辅助算术操作,获得运算结果。
11.根据权利要求8所述的量子模拟装置,其特征在于:所述一组量子比特位还包括标识控制所述基本算术运算操作执行与否的第一量子比特位;
所述装置还包括:
第二判断模块,用于根据所述第一量子比特位的量子态判断所述指定量子比特对应的量子态对应的数值是否执行所述基本算术运算操作。
12.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
13.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072078.XA CN113222157B (zh) | 2020-01-21 | 2020-01-21 | 一种量子模拟方法、装置、电子装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072078.XA CN113222157B (zh) | 2020-01-21 | 2020-01-21 | 一种量子模拟方法、装置、电子装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113222157A CN113222157A (zh) | 2021-08-06 |
CN113222157B true CN113222157B (zh) | 2024-02-09 |
Family
ID=77085444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010072078.XA Active CN113222157B (zh) | 2020-01-21 | 2020-01-21 | 一种量子模拟方法、装置、电子装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113222157B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115809042B (zh) * | 2021-09-14 | 2024-06-14 | 本源量子计算科技(合肥)股份有限公司 | 量子模数加法运算方法、装置、电子装置及模数算术组件 |
CN115879553B (zh) * | 2021-09-28 | 2024-06-14 | 本源量子计算科技(合肥)股份有限公司 | 量子模数完整乘法运算方法、装置及模数算术组件 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108154240A (zh) * | 2017-12-29 | 2018-06-12 | 合肥本源量子计算科技有限责任公司 | 一种低复杂度的量子线路模拟*** |
CN109800883A (zh) * | 2019-01-25 | 2019-05-24 | 合肥本源量子计算科技有限责任公司 | 量子机器学习框架构建方法、装置及量子计算机 |
CN110188885A (zh) * | 2019-06-28 | 2019-08-30 | 合肥本源量子计算科技有限责任公司 | 一种量子计算模拟方法、装置、存储介质和电子装置 |
CN110598867A (zh) * | 2019-09-17 | 2019-12-20 | 合肥本源量子计算科技有限责任公司 | 一种量子态信息转化方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019113600A1 (en) * | 2017-12-08 | 2019-06-13 | Microsoft Technology Licensing, Llc | Debugging quantum programs |
-
2020
- 2020-01-21 CN CN202010072078.XA patent/CN113222157B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108154240A (zh) * | 2017-12-29 | 2018-06-12 | 合肥本源量子计算科技有限责任公司 | 一种低复杂度的量子线路模拟*** |
CN109800883A (zh) * | 2019-01-25 | 2019-05-24 | 合肥本源量子计算科技有限责任公司 | 量子机器学习框架构建方法、装置及量子计算机 |
CN110188885A (zh) * | 2019-06-28 | 2019-08-30 | 合肥本源量子计算科技有限责任公司 | 一种量子计算模拟方法、装置、存储介质和电子装置 |
CN110598867A (zh) * | 2019-09-17 | 2019-12-20 | 合肥本源量子计算科技有限责任公司 | 一种量子态信息转化方法 |
Non-Patent Citations (3)
Title |
---|
Surface codes: Towards practical large-scale quantum computation;Austin G. Fowler et al.;PHYSICAL REVIEW A;第032324-1-032324-8页 * |
量子乘法器的设计及其实现方法;袁素真 等;重庆邮电大学学报(自然科学版);31(03);第395-399页 * |
量子算法模拟与设计;陈彦辉;中国优秀博硕士学位论文全文数据库 (硕士)信息科技辑;第2005卷(第07期);第I137-30页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113222157A (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112114776B (zh) | 一种量子乘法运算方法、装置、电子装置及存储介质 | |
CN112162723B (zh) | 一种量子减法运算方法、装置、电子装置及存储介质 | |
CN113222155B (zh) | 一种量子线路的构建方法、装置、电子装置和存储介质 | |
CN112232513B (zh) | 一种量子态的制备方法及装置 | |
CN112633507B (zh) | 一种将复向量编码到量子线路的方法及装置 | |
CN113222157B (zh) | 一种量子模拟方法、装置、电子装置及存储介质 | |
CN113222161B (zh) | 一种自定义量子逻辑门的实现方法、装置 | |
CN113222153B (zh) | 一种量子态的模拟方法、装置、存储介质和电子装置 | |
CN114511094B (zh) | 一种量子算法的优化方法、装置、存储介质与电子装置 | |
CN113222156B (zh) | 一种待执行操作的量子模拟方法、装置 | |
CN112214200B (zh) | 一种量子减法运算方法、装置、电子装置及存储介质 | |
CN113222151B (zh) | 一种量子态的变换方法及装置 | |
CN114764619A (zh) | 一种基于量子线路的卷积操作方法及装置 | |
CN116090568B (zh) | 量子数据与经典浮点型数据的大小关系确定方法及装置 | |
CN115809707B (zh) | 量子比较运算方法、装置、电子装置及基础算术组件 | |
CN115775029B (zh) | 量子线路转化方法、装置、介质及电子装置 | |
CN116011682A (zh) | 一种气象数据预测方法、装置、存储介质及电子装置 | |
CN115879562B (zh) | 一种量子程序初始映射的确定方法、装置及量子计算机 | |
CN115713122B (zh) | 一种量子数据与经典数据的大小关系的确定方法及装置 | |
CN115879560B (zh) | 一种量子数据与经典数据的等值关系判断方法及装置 | |
CN115879558B (zh) | 一种多个量子态之间的大小比较方法及装置 | |
CN112162725B (zh) | 一种量子除法运算方法、装置、电子装置及存储介质 | |
CN115879559B (zh) | 多个量子态之间的等值关系判断方法、装置及量子计算机 | |
CN115730670B (zh) | 模式文件的生成方法、装置、介质及电子装置 | |
CN115879557B (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, 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, 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 |