[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115809042B - 量子模数加法运算方法、装置、电子装置及模数算术组件 - Google Patents

量子模数加法运算方法、装置、电子装置及模数算术组件 Download PDF

Info

Publication number
CN115809042B
CN115809042B CN202111076847.4A CN202111076847A CN115809042B CN 115809042 B CN115809042 B CN 115809042B CN 202111076847 A CN202111076847 A CN 202111076847A CN 115809042 B CN115809042 B CN 115809042B
Authority
CN
China
Prior art keywords
quantum
module
input
target
items
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
Application number
CN202111076847.4A
Other languages
English (en)
Other versions
CN115809042A (zh
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 CN202111076847.4A priority Critical patent/CN115809042B/zh
Publication of CN115809042A publication Critical patent/CN115809042A/zh
Application granted granted Critical
Publication of CN115809042B publication Critical patent/CN115809042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明公开了一种量子模数加法运算方法、装置、电子装置及模数算术组件,本发明通过获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态;将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出,现了量子线路中的模数加法运算操作,填补了相关技术空白。

Description

量子模数加法运算方法、装置、电子装置及模数算术组件
技术领域
本发明属于量子计算技术领域,特别是一种量子模数加法运算方法、装置、电子装置及模数算术组件。
背景技术
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解RSA密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
在破密量子算法的实现过程中,通常需要借助各种量子逻辑门构建量子算法,但是,仅依靠各种量子逻辑门构建量子算法时,并没有对应经典模数运算例如模数加法、模数乘法、模数平方、模数乘逆的模数基本算术运算操作的量子逻辑门。因此,急需提供一种能够实现量子线路中的模数基本算术运算操作的技术,以填补相关技术空白。
发明内容
本发明的目的是提供一种量子模数加法运算方法、装置、电子装置及模数算术组件,旨在实现量子线路中的模数加法运算操作,以填补相关技术空白。
本申请的一个实施例提供了一种量子模数加法运算方法,所述方法包括:
获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;
对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态;
将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出。
可选的,所述对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态,包括:
获取第一普通加法器模块、常数模减法器模块、常数模加法器模块和比较器模块;
将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路;
通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态。
可选的,所述第一普通加法器模块包括四个输入项和四个输出项,所述常数模减法器模块包括三个输入项和三个输出项,所述常数模加法器模块包括三个输入项和三个输出项,所述比较器模块包括四个输入项和四个输出项;
所述将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路,包括:
将所述第一普通加法器模块的其中三个输出项作为所述常数模减法器模块的三个输入项,将所述常数模减法器模块的三个输出项作为所述常数模加法器模块的三个输入项,将所述常数模加法器模块的三个输出项和所述第一普通加法器模块的另外一个输出项作为所述比较器模块的四个输入项,以及将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路。
可选的,所述第一普通加法器模块的四个输入项包括两个待运算量子态输入项、一个进位输入项以及一个辅助输入项,所述第一普通加法器模块的四个输出项包括两个第一中间结果输出项、一个第一进位输出项以及一个第一辅助输出项;
所述常数模减法器模块的三个输入项包括所述第一普通加法器模块的其中一个第一中间结果输出项、一个第一进位输出项以及一个第一辅助输出项,所述常数模减法器模块的三个输出项包括一个第二中间结果输出项、一个第二进位输出项以及一个第二辅助输出项;
所述常数模加法器模块的三个输入项包括所述常数模减法器模块的一个第二中间结果输出项、一个第二进位输出项以及一个第二辅助输出项,所述常数模加法器模块的三个输出项包括一个第三中间结果输出项、一个第三进位输出项以及一个第三辅助输出项;
所述比较器模块的四个输入项包括所述第一普通加法器模块的另外一个第一中间结果输出项、所述常数模加法器模块的一个第三中间结果输出项、一个第三进位输出项以及一个第三辅助输出项,所述比较器模块的四个输出项包括一个待运算量子态输出项、一个模数加法结果输出项、一个进位结果输出项以及一个辅助结果输出项。
可选的,所述通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态,包括:
制备进位输入量子态和辅助输入量子态;
将所述两个第一目标量子态作为所述两个待比较量子态输入项的输入,将所述进位输入量子态作为所述进位输入项的输入,以及将所述辅助输入量子态作为辅助输入项的输入,得到制备初态后的所述目标量子线路;
运行制备初态后的所述目标量子线路,以及测量所述比较器模块的一个模数加法结果输出项对应的量子比特,得到第二目标量子态。
可选的,所述比较器模块由普通减法器模块、CNOT门和第二普通加法器模块级联构成;所述普通减法器模块包括三个输入项和三个输出项,所述CNOT门包括二个输入项和二个输出项,所述第二普通加法器模块包括三个输入项和三个输出项;所述普通减法器模块的其中一个输出项与所述CNOT门的其中一个输入项连接,将所述普通减法器模块的另外两个输出项以及所述CNOT门的其中一个输出项与所述第二普通加法器模块的三个输入项分别一一对应连接;
所述比较器的四个输入项包括所述普通减法器模块的三个输入项,所述比较器的四个输出项包括所述第二普通加法器模块的三个输出项。
本申请的又一实施例提供了一种量子模数加法运算装置,所述装置包括:
获取单元,用于获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;
演化单元,用于对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态;
输出单元,用于将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出。
可选的,在所述对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态方面,所述演化单元具体用于:
获取第一普通加法器模块、常数模减法器模块、常数模加法器模块和比较器模块;
将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路;
通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态。
可选的,所述第一普通加法器模块包括四个输入项和四个输出项,所述常数模减法器模块包括三个输入项和三个输出项,所述常数模加法器模块包括三个输入项和三个输出项,所述比较器模块包括四个输入项和四个输出项;
在所述将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路方面,所述演化单元具体用于:
将所述第一普通加法器模块的其中三个输出项作为所述常数模减法器模块的三个输入项,将所述常数模减法器模块的三个输出项作为所述常数模加法器模块的三个输入项,将所述常数模加法器模块的三个输出项和所述第一普通加法器模块的另外一个输出项作为所述比较器模块的四个输入项,以及将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路。
可选的,所述第一普通加法器模块的四个输入项包括两个待运算量子态输入项、一个进位输入项以及一个辅助输入项,所述第一普通加法器模块的四个输出项包括两个第一中间结果输出项、一个第一进位输出项以及一个第一辅助输出项;
所述常数模减法器模块的三个输入项包括所述第一普通加法器模块的其中一个第一中间结果输出项、一个第一进位输出项以及一个第一辅助输出项,所述常数模减法器模块的三个输出项包括一个第二中间结果输出项、一个第二进位输出项以及一个第二辅助输出项;
所述常数模加法器模块的三个输入项包括所述常数模减法器模块的一个第二中间结果输出项、一个第二进位输出项以及一个第二辅助输出项,所述常数模加法器模块的三个输出项包括一个第三中间结果输出项、一个第三进位输出项以及一个第三辅助输出项;
所述比较器模块的四个输入项包括所述第一普通加法器模块的另外一个第一中间结果输出项、所述常数模加法器模块的一个第三中间结果输出项、一个第三进位输出项以及一个第三辅助输出项,所述比较器模块的四个输出项包括一个待运算量子态输出项、一个模数加法结果输出项、一个进位结果输出项以及一个辅助结果输出项。
可选的,在所述通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态方面,所述演化单元具体用于:
制备进位输入量子态和辅助输入量子态;
将所述两个第一目标量子态作为所述两个待比较量子态输入项的输入,将所述进位输入量子态作为所述进位输入项的输入,以及将所述辅助输入量子态作为辅助输入项的输入,得到制备初态后的所述目标量子线路;
运行制备初态后的所述目标量子线路,以及测量所述比较器模块的一个模数加法结果输出项对应的量子比特,得到第二目标量子态。
可选的,所述比较器模块由普通减法器模块、CNOT门和第二普通加法器模块级联构成;所述普通减法器模块包括三个输入项和三个输出项,所述CNOT门包括二个输入项和二个输出项,所述第二普通加法器模块包括三个输入项和三个输出项;所述普通减法器模块的其中一个输出项与所述CNOT门的其中一个输入项连接,将所述普通减法器模块的另外两个输出项以及所述CNOT门的其中一个输出项与所述第二普通加法器模块的三个输入项分别一一对应连接;
所述比较器的四个输入项包括所述普通减法器模块的三个输入项,所述比较器的四个输出项包括所述第二普通加法器模块的三个输出项。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
本申请的又一实施例提供了一种量子模数算术组件,包括根据上述任一项中所述的方法确定的量子模数加法器。
与现有技术相比,本发明提供的一种量子模数加法运算方法,通过获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态;将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出,实现了量子线路中的模数加法运算操作,填补了相关技术空白。
附图说明
图1为本发明实施例提供的一种量子模数加法运算方法的计算机终端的硬件结构框图;
图2为本发明实施例提供的一种量子模数加法运算方法的流程示意图;
图3为本发明实施例提供的一种量子比较器对应的目标量子线路图;
图4为本发明实施例提供的另一种量子比较器对应的目标量子线路图;
图5为本发明实施例提供的一种模数加法器对应的目标量子线路图;
图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门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算。
数论中,把一个计量单位称之为模或者模数,例如时钟是以12进制进行计数循环的,即以12为模。模运算在数论和程序设计中都有着广泛的应用,奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。模数加法运算是指任意两个数据相加求模的运算,例如任何对10的模数加法运算,9+9=8。在量子计算领域中,急需提供一种能够实现量子线路中的模数加法运算操作的技术,以填补相关技术空白。
参见图2,图2为本发明实施例提供的一种量子模数加法运算方法的流程示意图。所述方法包括:
步骤201:获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;
具体地,在所述获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态方面,可以是利用现有的振幅编码方式,将待运算的十进制数据转换为二进制的量子态表示。例如,一个目标数据为7,带符号的二进制表示0111;另一个目标数据为4,带符号的二进制表示011;其中,最高位为0表示正数,1表示负数。其中,目标量子态为两个目标量子比特对应的本征态,量子比特位对应的所有本征态表征的数量是2的量子比特位的个数次方。例如:例如一组量子比特为、/>、/>,表示第0位、第1位、第2位量子比特,从高位到低位排序为/>,则该组量子比特位对应的本征态(即量子态)总共有8个,分别为:|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,该8个本征态之间的叠加态。该组量子比特位的个数可以根据实际运算需要进行设置。
步骤202:对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态;
具体地,在所述对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态方面,包括:
获取第一普通加法器模块、常数模减法器模块、常数模加法器模块和比较器模块;
将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路;
通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态。
本实施例用于介绍如何在量子计算机中实现模数加法运算的逻辑电路,并结合预先开发软件QPanda对每个模块进行说明。任何经典逻辑电路,也可以通过量子线路来表示。经典电路和量子线路一一对应,量子逻辑门/量子线路的输入与输出均是量子比特,且输入与输出的量子比特数量相等。量子线路允许量子态以叠加的方式输入,输出的状态即可以相同的方式叠加输出。可逆计算是量子计算的基本,即任何可逆线路存在逆线路,也就是说,将每个原有的输出作为输入,正好可以映射到原来的输入上。可逆线路意味着对于每一种输出,都正好有一种输入与之对应,这种映射是一一映射。例如非门是一个典型的可逆逻辑门,它的逆线路就是它自身。典型的不可逆逻辑门就是与门、或门。例如与门的输入是0,0; 0,1; 1,0的时候均输出0,这说明不存在从输出到输入的唯一映射。可逆计算意味着信息在计算过程中没有丢失,经过逆变换之后可以恢复原来的状态。不可逆计算意味着信息丢失了。例如从与门的输出,无法推知输入的状态。对于可逆计算来说,是可以推知的。任何连续执行的可逆逻辑门,合起来是一个可逆操作。量子逻辑门全部是可逆逻辑门,所以量子线路是可逆线路。但是量子测量不是可逆计算。
其中,普通加法器模块用于实现数据之间的求和,具体实现方式可以参见公开号为CN 112162723 A的专利文献;普通减法器模块用于实现数据之间的求差,具体实现方式可以参见公开号为CN 112214200 A的专利文献;当然,普通加法器模块和普通减法器模块的具体实现方式还可以有其他方式,在此不做限定。
上述第一普通加法器模块为输入项为任意两个数的普通加法器,常数模减法器模块为有一个输入项为模的普通减法器,常数模加法器模块为有一个输入项为模的普通加法器。
其中,所述比较器模块由普通减法器模块、CNOT门和第二普通加法器模块级联构成;所述普通减法器模块包括三个输入项和三个输出项,所述CNOT门包括二个输入项和二个输出项,所述第二普通加法器模块包括三个输入项和三个输出项;所述普通减法器模块的其中一个输出项与所述CNOT门的其中一个输入项连接,将所述普通减法器模块的另外两个输出项以及所述CNOT门的其中一个输出项与所述第二普通加法器模块的三个输入项分别一一对应连接。
所述普通减法器模块的三个输入项包括两个待比较量子态输入项、一个辅助输入项,所述普通减法器模块的三个输出项包括两个第四中间结果输出项和一个中间辅助输出项;
所述CNOT门的两个输入项包括所述普通减法器模块的其中一个第四中间结果输出项和一个比较结果输入项,所述CNOT门的两个输出项包括一个第五中间结果输出项和一个比较结果输出项;
所述第二普通加法器模块的三个输入项包括所述普通减法器模块的另外一个第四中间结果输出项和一个中间辅助输出项,以及所述CNOT门的一个第五中间结果输出项;所述第二普通加法器模块的三个输出项包括两个待比较量子态输出项和一个辅助输出项。
其中,CNOT门的矩阵形式如下:
CNOT门的控制位为时,被控制位不变;CNOT门的控制位为/>时,被控制位取反。
如图3所示,图3为本发明实施例提供的一种量子比较器对应的目标量子线路图。、/>和/>为普通减法器的三个输入项,其中,/>和/>为两个待比较量子态输入项,/>表示/>个量子比特,表示分别用/>个量子比特编码两个目标数据得到/>为一个辅助输入项,/>的初始输入态可以是/>,也可以是/>,用于加减法过程中的进位辅助。/>输入项对应的输出项为CNOT门的其中一个输入项,/>为CNOT门的另外一个输入项。/>和/>输入项对应的输出项以及CNOT门的其中一个输入项对应的输出项为普通加法器的三个输入项。最终/>、/>和/>都被恢复为初始的输入量子态,演化的最终量子态/>用于存储/>和/>的比较结果,可以用/>表示/>,用表示/>;也可以用/>表示/>,用/>表示/>
所述普通减法器模块的其中一个待比较量子态输入项包括一个待比较量子态数值输入项和一个待比较量子态符号输入项;所述普通减法器模块的其中一个第四中间结果输出项包括一个第四中间数值结果输出项和一个第四中间符号结果输出项;
所述CNOT门的其中一个输入项为所述普通减法器模块的一个第四中间符号结果输出项;
所述普通加法器模块的其中一个输入项包括所述普通减法器模块的一个第四中间数值结果输出项和所述普通减法器模块的一个第四中间符号结果输出项。
如图4所示,图4为本发明实施例提供的另一种量子比较器对应的目标量子线路图。编码目标数据的个量子比特中,/>个量子比特用于编码目标数据的数值,一个量子比特用于编码目标数据的符号,分别对应普通减法器模块的其中一个待比较量子态输入项包括一个待比较量子态数值输入项和一个待比较量子态符号输入项。CNOT门作用在编码目标数据符号的量子比特和编码比较结果的量子比特上,其中,编码目标数据符号的量子比特的量子态为控制位,编码比较结果的量子比特的量子态为受控位。可以看出,最终的比较结果/>与符号位相关。
具体的,所述第一普通加法器模块包括四个输入项和四个输出项,所述常数模减法器模块包括三个输入项和三个输出项,所述常数模加法器模块包括三个输入项和三个输出项,所述比较器模块包括四个输入项和四个输出项;
所述将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路,包括:
将所述第一普通加法器模块的其中三个输出项作为所述常数模减法器模块的三个输入项,将所述常数模减法器模块的三个输出项作为所述常数模加法器模块的三个输入项,将所述常数模加法器模块的三个输出项和所述第一普通加法器模块的另外一个输出项作为所述比较器模块的四个输入项,以及将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路。
其中,所述第一普通加法器模块的四个输入项包括两个待运算量子态输入项、一个进位输入项以及一个辅助输入项,所述第一普通加法器模块的四个输出项包括两个第一中间结果输出项、一个第一进位输出项以及一个第一辅助输出项;
所述常数模减法器模块的三个输入项包括所述第一普通加法器模块的其中一个第一中间结果输出项、一个第一进位输出项以及一个第一辅助输出项,所述常数模减法器模块的三个输出项包括一个第二中间结果输出项、一个第二进位输出项以及一个第二辅助输出项;
所述常数模加法器模块的三个输入项包括所述常数模减法器模块的一个第二中间结果输出项、一个第二进位输出项以及一个第二辅助输出项,所述常数模加法器模块的三个输出项包括一个第三中间结果输出项、一个第三进位输出项以及一个第三辅助输出项;
所述比较器模块的四个输入项包括所述第一普通加法器模块的另外一个第一中间结果输出项、所述常数模加法器模块的一个第三中间结果输出项、一个第三进位输出项以及一个第三辅助输出项,所述比较器模块的四个输出项包括一个待运算量子态输出项、一个模数加法结果输出项、一个进位结果输出项以及一个辅助结果输出项。
如图5所示,图5为本发明实施例提供的一种模数加法器对应的目标量子线路图。表示量子比特的个数,对于各模块的说明如下:/>、/>、/>为所述第一普通加法器模块的四个输入项,/>为两个待运算量子态输入项,各用/>个量子比特表示目标数据转化后的量子态,一个进位输入项/>,用一个量子比特的量子态表示求和之后的最终进位;/>为辅助进位项,用一个量子比特的量子态表示在求和过程中的进位。这里用到的量子比特的数量为/>
常数模减法器模块用于将在第一普通加法器模块中对应的输出项/>与常数模p求差,这里常数模p对应的量子态用/>个量子比特表示,还需1个量子比特用于判断求差时是否需要补码,因此还需要增加/>+1个量子比特,这里用到的量子比特的数量为
常数模加法器模块用于将常数模减法器模块中的输出项与常数模p求和。这里同样还是从/>个量子比特中取/>个用于表示常数模p,第二进位输出项的量子态用于控制是否通过常数模加法器进行常数模加法运算,若量子态为/>则进行常数模加法运算,若量子态为/>则不进行常数模加法运算。通过常数模加法器进行常数模加法运算的原理与上述常数模减法器进行常数模减法运算的原理类似,在此不再详述。
比较器模块用于比较两个数的大小,具体的实现形式参见图3或图4。需要说明的是,图3或图4的普通减法器仅仅为普通加法器的转置共轭,而非真正的减法器,其目的只是为了判断两个数的大小,故不需要额外的辅助量子比特,如用于辅助表示最终进位的量子比特和用于辅助判断是否需要补码的量子比特。因此,这里可以从个量子比特中取量子比特表示这些信息,也可以不表示这些信息。
具体的,在所述通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态方面,包括:
制备进位输入量子态和辅助输入量子态;
将所述两个第一目标量子态作为所述两个待比较量子态输入项的输入,将所述进位输入量子态作为所述进位输入项的输入,以及将所述辅助输入量子态作为辅助输入项的输入,得到制备初态后的所述目标量子线路;
运行制备初态后的所述目标量子线路,以及测量所述比较器模块的一个模数加法结果输出项对应的量子比特,得到第二目标量子态。
举例说明,例如将进位输入项和辅助输入项的初始量子态——进位输入量子态和辅助输入量子态制备为,分两种情况介绍各模块的量子态演化:
第一种:第一普通加法器模块的输入量子态为/>,输出量子态为/>或/>;常数模减法器的输入量子态为或/>,输出量子态为/>;由于进位项为/>,不触发常数模加法器。比较器模块用于重置进位项,由于进位项为/>,因此不改变进位。最终的输出量子态为/>,测量/>对应的/>个量子比特即可得到/>,即/>
第二种:第一普通加法器模块的输入量子态为/>,输出量子态为/>;常数模减法器的输入量子态为/>,输出量子态为/>;由于进位项为/>,触发常数模加法器,常数模加法器模块的输入量子态为/>,输出量子态为/>。比较器模块用于将进位项/>重置为/>。最终的输出量子态为/>,测量对应的/>个量子比特即可得到/>,即/>
步骤203:将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出。
本实施例中,通过将待运算的两个目标数据转换后的两个第一目标量子态,输入模数加法器(即所述目标量子线路)中,得到对应的二进制表示比较结果的第二目标量子态。然后将二进制表示的表示比较结果的第二目标量子态直接输出,完成两个目标数据的模数加法运算。
与现有技术相比,本发明提供的一种量子模数加法运算方法,通过获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态;将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出,实现了量子线路中的模数加法运算操作,填补了相关技术空白。
本发明的另一实施例提供了一种量子模数加法运算装置,如图6所示,所述装置包括:
获取单元601,用于获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;
演化单元602,用于对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态;
输出单元603,用于将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出。
可选的,在所述对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态方面,所述演化单元602具体用于:
获取第一普通加法器模块、常数模减法器模块、常数模加法器模块和比较器模块;
将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路;
通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态。
可选的,所述第一普通加法器模块包括四个输入项和四个输出项,所述常数模减法器模块包括三个输入项和三个输出项,所述常数模加法器模块包括三个输入项和三个输出项,所述比较器模块包括四个输入项和四个输出项;
在所述将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路方面,所述演化单元602具体用于:
将所述第一普通加法器模块的其中三个输出项作为所述常数模减法器模块的三个输入项,将所述常数模减法器模块的三个输出项作为所述常数模加法器模块的三个输入项,将所述常数模加法器模块的三个输出项和所述第一普通加法器模块的另外一个输出项作为所述比较器模块的四个输入项,以及将所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块进行级联,生成模数加法器对应的目标量子线路。
可选的,所述第一普通加法器模块的四个输入项包括两个待运算量子态输入项、一个进位输入项以及一个辅助输入项,所述第一普通加法器模块的四个输出项包括两个第一中间结果输出项、一个第一进位输出项以及一个第一辅助输出项;
所述常数模减法器模块的三个输入项包括所述第一普通加法器模块的其中一个第一中间结果输出项、一个第一进位输出项以及一个第一辅助输出项,所述常数模减法器模块的三个输出项包括一个第二中间结果输出项、一个第二进位输出项以及一个第二辅助输出项;
所述常数模加法器模块的三个输入项包括所述常数模减法器模块的一个第二中间结果输出项、一个第二进位输出项以及一个第二辅助输出项,所述常数模加法器模块的三个输出项包括一个第三中间结果输出项、一个第三进位输出项以及一个第三辅助输出项;
所述比较器模块的四个输入项包括所述第一普通加法器模块的另外一个第一中间结果输出项、所述常数模加法器模块的一个第三中间结果输出项、一个第三进位输出项以及一个第三辅助输出项,所述比较器模块的四个输出项包括一个待运算量子态输出项、一个模数加法结果输出项、一个进位结果输出项以及一个辅助结果输出项。
可选的,在所述通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态方面,所述演化单元602具体用于:
制备进位输入量子态和辅助输入量子态;
将所述两个第一目标量子态作为所述两个待比较量子态输入项的输入,将所述进位输入量子态作为所述进位输入项的输入,以及将所述辅助输入量子态作为辅助输入项的输入,得到制备初态后的所述目标量子线路;
运行制备初态后的所述目标量子线路,以及测量所述比较器模块的一个模数加法结果输出项对应的量子比特,得到第二目标量子态。
可选的,所述比较器模块由普通减法器模块、CNOT门和第二普通加法器模块级联构成;所述普通减法器模块包括三个输入项和三个输出项,所述CNOT门包括二个输入项和二个输出项,所述第二普通加法器模块包括三个输入项和三个输出项;所述普通减法器模块的其中一个输出项与所述CNOT门的其中一个输入项连接,将所述普通减法器模块的另外两个输出项以及所述CNOT门的其中一个输出项与所述第二普通加法器模块的三个输入项分别一一对应连接;
所述比较器的四个输入项包括所述普通减法器模块的三个输入项,所述比较器的四个输出项包括所述第二普通加法器模块的三个输出项。
本发明的再一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;
对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态;
将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的再一实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;
对所述两个第一目标量子态执行模数加法运算对应的量子态演化,获得演化后的存储模数加法运算结果的第二目标量子态;
将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出。
本申请的又一实施例提供了一种量子模数算术组件,包括根据上述任一项中所述的方法确定的量子模数加法器。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (9)

1.一种量子模数加法运算方法,其特征在于,所述方法包括:
获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;
将第一普通加法器的其中一个第一中间结果输出项、第一进位输出项以及第一辅助输出项作为常数模减法器模块的输入项,将所述常数模减法器模块的第二中间结果输出项、第二进位输出项以及第二辅助输出项作为常数模加法器模块的输入项,将所述第一普通加法器模块的另外一个第一中间结果输出项、所述常数模加法器模块的第三中间结果输出项、第三进位输出项以及第三辅助输出项作为比较器模块的输入项,得到模数加法器对应的目标量子线路;
将两个第一目标量子态作为第一普通加法器的输入项,以及通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态;
将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一普通加法器模块、所述常数模减法器模块、所述常数模加法器模块和所述比较器模块。
3.如权利要求1所述的方法,其特征在于,所述第一普通加法器模块的输入项包括两个待运算量子态输入项、一个进位输入项以及一个辅助输入项,所述比较器模块的输出项包括一个待运算量子态输出项、一个模数加法结果输出项、一个进位结果输出项以及一个辅助结果输出项。
4.如权利要求3所述的方法,其特征在于,所述将两个第一目标量子态作为第一普通加法器的输入项,以及通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态,包括:
制备进位输入量子态和辅助输入量子态;
将所述两个第一目标量子态作为所述两个待运算量子态输入项的输入,将所述进位输入量子态作为所述进位输入项的输入,以及将所述辅助输入量子态作为辅助输入项的输入,得到制备初态后的所述目标量子线路;
运行制备初态后的所述目标量子线路,以及测量所述比较器模块的一个模数加法结果输出项对应的量子比特,得到第二目标量子态。
5.如权利要求1-4任一项所述的方法,其特征在于,所述比较器模块由普通减法器模块、CNOT门和第二普通加法器模块级联构成;所述普通减法器模块包括三个输入项和三个输出项,所述CNOT门包括二个输入项和二个输出项,所述第二普通加法器模块包括三个输入项和三个输出项;所述普通减法器模块的其中一个输出项与所述CNOT门的其中一个输入项连接,将所述普通减法器模块的另外两个输出项以及所述CNOT门的其中一个输出项与所述第二普通加法器模块的三个输入项分别一一对应连接;
所述比较器的四个输入项包括所述普通减法器模块的三个输入项,所述比较器的四个输出项包括所述第二普通加法器模块的三个输出项。
6.一种量子模数加法运算装置,其特征在于,所述装置包括:
获取单元,用于获取待运算的两个目标数据,并将所述待运算的两个目标数据转换为两个第一目标量子态;
演化单元,用于将第一普通加法器的其中一个第一中间结果输出项、第一进位输出项以及第一辅助输出项作为常数模减法器模块的输入项,将所述常数模减法器模块的第二中间结果输出项、第二进位输出项以及第二辅助输出项作为常数模加法器模块的输入项,将所述第一普通加法器模块的另外一个第一中间结果输出项、所述常数模加法器模块的第三中间结果输出项、第三进位输出项以及第三辅助输出项作为比较器模块的输入项,得到模数加法器对应的目标量子线路;将两个第一目标量子态作为第一普通加法器的输入项,以及通过所述目标量子线路对所述两个第一目标量子态的各量子比特进行模数加法运算,生成第二目标量子态;
输出单元,用于将最终获得的所述第二目标量子态作为所述待运算的两个目标数据的模数加法运算结果进行输出。
7.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
9.一种量子模数算术组件,其特征在于,包括根据权利要求1至5任一项中所述的方法确定的量子模数加法器。
CN202111076847.4A 2021-09-14 2021-09-14 量子模数加法运算方法、装置、电子装置及模数算术组件 Active CN115809042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111076847.4A CN115809042B (zh) 2021-09-14 2021-09-14 量子模数加法运算方法、装置、电子装置及模数算术组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111076847.4A CN115809042B (zh) 2021-09-14 2021-09-14 量子模数加法运算方法、装置、电子装置及模数算术组件

Publications (2)

Publication Number Publication Date
CN115809042A CN115809042A (zh) 2023-03-17
CN115809042B true CN115809042B (zh) 2024-06-14

Family

ID=85481592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111076847.4A Active CN115809042B (zh) 2021-09-14 2021-09-14 量子模数加法运算方法、装置、电子装置及模数算术组件

Country Status (1)

Country Link
CN (1) CN115809042B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112162723A (zh) * 2020-09-30 2021-01-01 合肥本源量子计算科技有限责任公司 一种量子加法运算方法、装置、电子装置及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4847914B2 (ja) * 2007-04-16 2011-12-28 日本電信電話株式会社 量子加算演算方法及び量子加算演算装置
CN113222157B (zh) * 2020-01-21 2024-02-09 本源量子计算科技(合肥)股份有限公司 一种量子模拟方法、装置、电子装置及存储介质
CN116796848A (zh) * 2020-01-21 2023-09-22 本源量子计算科技(合肥)股份有限公司 一种待执行操作的量子模拟方法、装置
KR102204081B1 (ko) * 2020-07-24 2021-01-15 한양대학교 에리카산학협력단 효율적인 양자 모듈러 곱셈기 및 양자 모듈러 곱셈 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112162723A (zh) * 2020-09-30 2021-01-01 合肥本源量子计算科技有限责任公司 一种量子加法运算方法、装置、电子装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
量子乘法器的设计及其实现方法;袁素真等;重庆邮电大学学报(自然科学版);20190615(第03期);全文 *

Also Published As

Publication number Publication date
CN115809042A (zh) 2023-03-17

Similar Documents

Publication Publication Date Title
CN112114776B (zh) 一种量子乘法运算方法、装置、电子装置及存储介质
CN112162723B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
CN112232513B (zh) 一种量子态的制备方法及装置
CN112633507B (zh) 一种将复向量编码到量子线路的方法及装置
CN113222155B (zh) 一种量子线路的构建方法、装置、电子装置和存储介质
CN112214200B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
CN112162724B (zh) 一种带精度的量子除法运算方法及装置
CN115809707B (zh) 量子比较运算方法、装置、电子装置及基础算术组件
CN115809042B (zh) 量子模数加法运算方法、装置、电子装置及模数算术组件
CN113222156A (zh) 一种待执行操作的量子模拟方法、装置
CN115809706B (zh) 量子模数倍增运算方法、装置、电子装置及模数算术组件
CN113222157A (zh) 一种量子模拟方法、装置、电子装置及存储介质
CN115879554B (zh) 量子模数平方运算方法、装置、电子装置及模数算术组件
CN115879555B (zh) 量子模数快速乘法运算方法、装置及模数算术组件
CN115879552B (zh) 量子模数乘逆运算方法、装置、电子装置及模数算术组件
CN115879553B (zh) 量子模数完整乘法运算方法、装置及模数算术组件
CN112162725B (zh) 一种量子除法运算方法、装置、电子装置及存储介质
CN115936127B (zh) 一种基于量子技术的数值比较方法、装置及量子计算机
CN116048458B (zh) 基于量子计算的数值划分方法、装置、设备及存储介质
CN115713122B (zh) 一种量子数据与经典数据的大小关系的确定方法及装置
CN115879557B (zh) 基于量子线路的数据大小比较方法、装置及量子计算机
CN115879558B (zh) 一种多个量子态之间的大小比较方法及装置
WO2024109730A1 (zh) 变量模乘运算器、运算方法及相关装置
CN114970872B (zh) 量子线路的编译方法、装置、介质及电子装置
CN115879556A (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