CN115809706A - 量子模数倍增运算方法、装置、电子装置及模数算术组件 - Google Patents

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

Info

Publication number
CN115809706A
CN115809706A CN202111076843.6A CN202111076843A CN115809706A CN 115809706 A CN115809706 A CN 115809706A CN 202111076843 A CN202111076843 A CN 202111076843A CN 115809706 A CN115809706 A CN 115809706A
Authority
CN
China
Prior art keywords
modulus
quantum
target
quantum state
constant
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
CN202111076843.6A
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.)
Origin Quantum Computing Technology Co Ltd
Original Assignee
Origin Quantum Computing Technology 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 Origin Quantum Computing Technology Co Ltd filed Critical Origin Quantum Computing Technology Co Ltd
Priority to CN202111076843.6A priority Critical patent/CN115809706A/zh
Publication of CN115809706A publication Critical patent/CN115809706A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

量子模数倍增运算方法、装置、电子装置及模数算术组件
技术领域
本发明属于量子计算技术领域,特别是一种量子模数倍增运算方法、装置、电子装置及模数算术组件。
背景技术
量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。量子计算机因其具有相对普通计算机更高效的处理数学问题的能力,例如,能将破解RSA密钥的时间从数百年加速到数小时,故成为一种正在研究中的关键技术。
在破密量子算法的实现过程中,通常需要借助各种量子逻辑门构建量子算法,但是,仅依靠各种量子逻辑门构建量子算法时,并没有对应经典模数运算例如模数加法、模数乘法、模数平方、模数乘逆的模数基本算术运算操作的量子逻辑门。因此,急需提供一种能够实现量子线路中的模数基本算术运算操作的技术,以填补相关技术空白。
发明内容
本发明的目的是提供一种量子模数倍增运算方法、装置、电子装置及模数算术组件,旨在实现量子线路中的模数倍增运算操作,以填补相关技术空白。
本申请的一个实施例提供了一种量子模数倍增运算方法,所述方法包括:
获取待运算的目标数据,并将所述待运算的目标数据转换为第一目标量子态;
对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态;
将最终获得的所述第二目标量子态作为所述待运算的目标数据的模数倍增运算结果进行输出。
可选的,在所述对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态方面,包括:
获取常数倍增器模块、常数模减法器模块和常数模加法器模块;
将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路;
通过所述目标量子线路对所述第一目标量子态的各量子比特进行模数倍增运算,生成第二目标量子态。
可选的,所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块均包括三个输入项和三个输出项,在所述将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路方面,包括:
将所述常数倍增器模块的三个输出项作为所述常数模减法器模块的三个输入项,将所述常数模减法器模块的三个输出项作为所述常数模加法器模块的三个输入项,以及将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路。
可选的,所述常数倍增器模块的三个输入项包括一个待运算量子态输入项、一个进位输入项以及一个辅助输入项;所述常数倍增器模块的三个输出项包括一个第一中间结果输出项、一个第一中间进位输出项以及一个第一中间辅助输出项;
所述常数模减法器模块的三个输入项包括所述常数倍增器模块的一个第一中间结果输出项、一个第一中间进位输出项以及一个第一中间辅助输出项;所述常数模减法器模块的三个输出项包括一个第二中间结果输出项、一个第二中间进位输出项和一个第二中间辅助输出项;
所述常数模加法器模块的三个输入项包括所述常数模减法器模块的一个第二中间结果输出项、一个第二中间进位输出项和一个第二中间辅助输出项;所述常数模加法器模块的三个输出项包括一个模数倍增结果输出项、一个进位输出项和一个辅助输出项。
可选的,在所述通过所述目标量子线路对所述第一目标量子态的各量子比特进行模数倍增运算,生成第二目标量子态方面,包括:
制备进位输入量子态和辅助输入量子态;
将所述第一目标量子态作为所述待运算量子态输入项的输入,将所述进位输入量子态作为所述进位输入项的输入,将所述辅助输入量子态作为所述辅助输入项的输入,得到制备初态后的所述目标量子线路;
运行制备初态后的所述目标量子线路,以及测量所述常数模加法器模块的一个模数倍增结果输出项对应的量子比特,得到第二目标量子态。
可选的,所述常数倍增器模块由目标个数的SWAP门级联构成,所述目标个数基于所述第一目标量子态对应的量子比特的个数确定;所述常数倍增器模块的三个输入项包括所述SWAP门的两个输入项,所述常数倍增器模块的三个输入项包括所述SWAP门的两个输出项。
本申请的又一实施例提供了一种量子模数倍增运算装置,所述装置包括:
获取单元,用于获取待运算的目标数据,并将所述待运算的目标数据转换为第一目标量子态;
演化单元,用于对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态;
输出单元,用于将最终获得的所述第二目标量子态作为所述待运算的目标数据的模数倍增运算结果进行输出。
可选的,在所述对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态方面,所述演化单元,具体用于:
获取常数倍增器模块、常数模减法器模块和常数模加法器模块;
将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路;
通过所述目标量子线路对所述第一目标量子态的各量子比特进行模数倍增运算,生成第二目标量子态。
可选的,所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块均包括三个输入项和三个输出项,在所述将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路方面,所述演化单元,具体用于:
将所述常数倍增器模块的三个输出项作为所述常数模减法器模块的三个输入项,将所述常数模减法器模块的三个输出项作为所述常数模加法器模块的三个输入项,以及将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路。
可选的,所述常数倍增器模块的三个输入项包括一个待运算量子态输入项、一个进位输入项以及一个辅助输入项;所述常数倍增器模块的三个输出项包括一个第一中间结果输出项、一个第一中间进位输出项以及一个第一中间辅助输出项;
所述常数模减法器模块的三个输入项包括所述常数倍增器模块的一个第一中间结果输出项、一个第一中间进位输出项以及一个第一中间辅助输出项;所述常数模减法器模块的三个输出项包括一个第二中间结果输出项、一个第二中间进位输出项和一个第二中间辅助输出项;
所述常数模加法器模块的三个输入项包括所述常数模减法器模块的一个第二中间结果输出项、一个第二中间进位输出项和一个第二中间辅助输出项;所述常数模加法器模块的三个输出项包括一个模数倍增结果输出项、一个进位输出项和一个辅助输出项。
可选的,在所述通过所述目标量子线路对所述第一目标量子态的各量子比特进行模数倍增运算,生成第二目标量子态方面,所述演化单元,具体用于:
制备进位输入量子态和辅助输入量子态;
将所述第一目标量子态作为所述待运算量子态输入项的输入,将所述进位输入量子态作为所述进位输入项的输入,将所述辅助输入量子态作为所述辅助输入项的输入,得到制备初态后的所述目标量子线路;
运行制备初态后的所述目标量子线路,以及测量所述常数模加法器模块的一个模数倍增结果输出项对应的量子比特,得到第二目标量子态。
可选的,所述常数倍增器模块由目标个数的SWAP门级联构成,所述目标个数基于所述第一目标量子态对应的量子比特的个数确定;所述常数倍增器模块的三个输入项包括所述SWAP门的两个输入项,所述常数倍增器模块的三个输入项包括所述SWAP门的两个输出项。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
本申请的又一实施例提供了一种量子模数算术组件,包括根据上述任一项中所述的方法确定的量子模数倍增器。
与现有技术相比,本发明提供的一种量子模数倍增运算方法,通过获取待运算的目标数据,并将所述待运算的目标数据转换为第一目标量子态;对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态;将最终获得的所述第二目标量子态作为所述待运算的目标数据的模数倍增运算结果进行输出,实现了量子线路中的模数倍增运算操作,填补了相关技术空白。
附图说明
图1为本发明实施例提供的一种量子模数倍增运算方法的计算机终端的硬件结构框图;
图2为本发明实施例提供的一种量子模数倍增运算方法的流程示意图;
图3为本发明实施例提供的一种常数倍增器对应的目标量子线路图;
图4为本发明实施例提供的一种模数倍增器对应的目标量子线路图;
图5为本发明实施例提供的一种量子模数倍增运算装置的结果示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种量子模数倍增运算方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图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为模。模运算在数论和程序设计中都有着广泛的应用,奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。模数倍增运算是指任意一个数据的2倍求模的运算,例如任何对10的模数倍增运算,2×9mod 10=8。在量子计算领域中,急需提供一种能够实现量子线路中的模数倍增运算操作的技术,以填补相关技术空白。
参见图2,图2为本发明实施例提供的一种量子模数倍增运算方法的流程示意图。所述方法包括:
步骤201:获取待运算的目标数据,并将所述待运算的目标数据转换为第一目标量子态;
具体地,在所述获取待运算的目标数据,并将所述待运算的目标数据转换为第一目标量子态方面,可以是利用现有的振幅编码方式,将待运算的十进制数据转换为二进制的量子态表示。例如,一个目标数据为7,带符号的二进制表示0111;另一个目标数据为4,带符号的二进制表示011;其中,最高位为0表示正数,1表示负数。其中,目标量子态为目标量子比特对应的本征态,量子比特位对应的所有本征态表征的数量是2的量子比特位的个数次方。例如:例如一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,从高位到低位排序为q2q1q0,则该组量子比特位对应的本征态(即量子态)总共有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的专利文献;当然,普通加法器模块和普通减法器模块的具体实现方式还可以有其他方式,在此不做限定。
上述常数模减法器模块为有一个输入项为模的普通减法器,常数模加法器模块为有一个输入项为模的普通加法器。
其中,所述常数倍增器模块由目标个数的SWAP门级联构成,所述目标个数基于所述第一目标量子态对应的量子比特的个数确定;所述常数倍增器模块的三个输入项包括所述SWAP门的两个输入项,所述常数倍增器模块的三个输入项包括所述SWAP门的两个输出项。
如图3所示,图3为本发明实施例提供的一种常数倍增器对应的目标量子线路图。常数倍增器包括两个输入项和两个输出项,第一个输入项用于输入目标数据x2的量子态|x2>,将该目标数据x2编码在n2个量子比特上,得到量子态
Figure BDA0003262536410000101
第二个输入项为进位输入项|a2>,用于最终计算结果的辅助进位,其初始输入量子态可以为|0>。常数倍增器模块包括n2个SWAP门,每个SWAP门用于将相邻的两个量子比特上的量子态进行交换。例如,目标数据为7,二进制表示111,则加上进位项的输入为0111,通过SWAP门将相邻的两个量子比特上的量子态进行交换,得到输出为1110,用十进制表示为14。
除了上述这种方式实现常数倍增运算外,还可以直接在输入时进行错位编码,将目标数据x2转化的第一目标量子态|x2>从第二个量子比特开始编码,编码到n2-1个量子比特和1个辅助进位的量子比特上,将n2个量子比特中的第一个量子比特制备为|0>。例如将一组量子比特为q0、q1、q2、q3,表示第0位、第1位、第2位量子比特,从高位到低位排序为q3q2q1q0。将目标数据为7的二进制表示111转化为量子比特的量子态111q0,将q0的量子态制备为0,则输出为1110,用十进制表示为14。
具体地,所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块均包括三个输入项和三个输出项,在所述将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路方面,包括:
将所述常数倍增器模块的三个输出项作为所述常数模减法器模块的三个输入项,将所述常数模减法器模块的三个输出项作为所述常数模加法器模块的三个输入项,以及将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路。
其中,所述常数倍增器模块的三个输入项包括一个待运算量子态输入项、一个进位输入项以及一个辅助输入项;所述常数倍增器模块的三个输出项包括一个第一中间结果输出项、一个第一中间进位输出项以及一个第一中间辅助输出项;
所述常数模减法器模块的三个输入项包括所述常数倍增器模块的一个第一中间结果输出项、一个第一中间进位输出项以及一个第一中间辅助输出项;所述常数模减法器模块的三个输出项包括一个第二中间结果输出项、一个第二中间进位输出项和一个第二中间辅助输出项;
所述常数模加法器模块的三个输入项包括所述常数模减法器模块的一个第二中间结果输出项、一个第二中间进位输出项和一个第二中间辅助输出项;所述常数模加法器模块的三个输出项包括一个模数倍增结果输出项、一个进位输出项和一个辅助输出项。
如图4所示,图4为本发明实施例提供的一种模数倍增器对应的目标量子线路图。n2、n2+2表示量子比特的个数,对于各模块的说明如下:|x2>、|a2>和|b2>为所述常数倍增器模块的三个输入项,|x2>为一个待运算量子态输入项,用n2个量子比特表示目标数据转化后的量子态;一个进位输入项|a2>,用于表示常数倍增运算时产生的进位;一个辅助输入项|b2>,若常数倍增器的具体实现形式为图3所示的常数倍增器,则不需要用到该辅助输入项,若常数倍增器的具体实现形式为其他的实现形式,例如通过普通加法器来实现常数倍增运算,则需要用到该辅助输入项。因此是否用到辅助输入项取决于具体常数倍增器具体的实现形式。
待运算量子态输入项对应的输出项为第一中间结果输出项,进位输入项对应的输出项为第一中间进位输出项,第一中间结果输出项和第一中间进位输出项用于表示x2的常数倍增运算结果2x2。辅助输入项对应的输出项为第一中间辅助输出项,无论该辅助输入项是否用到,其对应的输出项为第一中间辅助输出项都会被复原,可以重新用于其他的辅助运算。
所述常数模减法器模块的三个输入项包括所述常数倍增器模块的一个第一中间结果输出项、一个第一中间进位输出项以及一个第一中间辅助输出项。第一中间结果输出项和第一中间进位输出项表示的常数倍增运算结果2x2再与常数模p进行减法运算。从n2+2个辅助比特中取复原的n2个量子比特表示模p,取一个复原的量子比特用于辅助减法器中的补码判断和一个复原的量子比特用于辅助减法器过程中的进位辅助。这n2+2个辅助比特的量子态表示第一中间辅助输出项。第一中间结果输出项对应的输出项为第二中间结果输出项,第一中间进位输出项对应的输出项为第二中间进位输出项,第二中间结果输出项和第二中间进位输出项用于表示常数倍增运算结果2x2与模p的减法运算结果2x2-p。这里,第一中间辅助输出项对应的第二中间辅助输出项经过常数模减法运算后也被复原,可以用于下一模块的计算。
所述常数模加法器模块的三个输入项包括所述常数模减法器模块的一个第二中间结果输出项、一个第二中间进位输出项和一个第二中间辅助输出项。第二中间进位输出项用于控制是否进行常数模加法运算,若量子态为|1>则进行常数模加法运算,若量子态为|0>则不进行常数模加法运算。通过常数模加法器进行常数模加法运算的原理与上述常数模减法器进行常数模减法运算的原理类似,在此不再详述。
具体地,所述通过所述目标量子线路对所述第一目标量子态的各量子比特进行模数倍增运算,生成第二目标量子态,包括:
制备进位输入量子态和辅助输入量子态;
将所述第一目标量子态作为所述待运算量子态输入项的输入,将所述进位输入量子态作为所述进位输入项的输入,将所述辅助输入量子态作为所述辅助输入项的输入,得到制备初态后的所述目标量子线路;
运行制备初态后的所述目标量子线路,以及测量所述常数模加法器模块的一个模数倍增结果输出项对应的量子比特,得到第二目标量子态。
举例说明,例如将进位输入量子态和辅助输入量子态的初始量子态均制备为|0>,分两种情况介绍各模块的量子态演化:
第一种2x2≥p:常数倍增器模块的输入量子态为|x2>|0>,输出量子态为|2x2>|1>;常数模减法器的输入量子态为|2x2>|1>|p>|0>|0>,输出量子态为|2x2-p>|0>|p>|0>|0>。由于第二中间进位输出项为|0>,不触发常数模加法器。测量|x2>对应的n2个量子比特即可得到|2x2modp>,即|2x2-p>。
第二种2x2<p:常数倍增器模块的输入量子态为|x2>|0>,输出量子态为|2x2>|1>;常数模减法器的输入量子态为|2x2>|1>|p>|0>|0>,输出量子态为|2x2-p>|1>|p>|0>|0>;由于进位项为|1>,触发常数模加法器,常数模加法器模块的输入量子态为|2x2-p>|1>|p>|0>|0>,输出量子态为|2x2>|0>|p>|0>|0>。测量|x2>对应的n2个量子比特即可得到|2x2modp>,即|2x2>
步骤203:将最终获得的所述第二目标量子态作为所述待运算的目标数据的模数倍增运算结果进行输出。
本实施例中,通过将待运算的目标数据转换后的第一目标量子态,输入模数倍增器(即所述目标量子线路)中,得到对应的二进制表示模数倍增结果的第二目标量子态。然后将二进制表示的表示模数倍增结果的第二目标量子态直接输出,完成目标数据的模数倍增运算。
与现有技术相比,本发明提供的一种量子模数倍增运算方法,通过获取待运算的目标数据,并将所述待运算的目标数据转换为第一目标量子态;对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态;将最终获得的所述第二目标量子态作为所述待运算的目标数据的模数倍增运算结果进行输出,实现了量子线路中的模数倍增运算操作,填补了相关技术空白。
本发明的另一实施例提供了一种量子模数倍增运算装置,如图5所示,所述装置包括:
获取单元501,用于获取待运算的目标数据,并将所述待运算的目标数据转换为第一目标量子态;
演化单元502,用于对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态;
输出单元503,用于将最终获得的所述第二目标量子态作为所述待运算的目标数据的模数倍增运算结果进行输出。
可选的,在所述对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态方面,所述演化单元502,具体用于:
获取常数倍增器模块、常数模减法器模块和常数模加法器模块;
将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路;
通过所述目标量子线路对所述第一目标量子态的各量子比特进行模数倍增运算,生成第二目标量子态。
可选的,所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块均包括三个输入项和三个输出项,在所述将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路方面,所述演化单元502,具体用于:
将所述常数倍增器模块的三个输出项作为所述常数模减法器模块的三个输入项,将所述常数模减法器模块的三个输出项作为所述常数模加法器模块的三个输入项,以及将所述常数倍增器模块、所述常数模减法器模块和所述常数模加法器模块进行级联,生成模数倍增器对应的目标量子线路。
可选的,所述常数倍增器模块的三个输入项包括一个待运算量子态输入项、一个进位输入项以及一个辅助输入项;所述常数倍增器模块的三个输出项包括一个第一中间结果输出项、一个第一中间进位输出项以及一个第一中间辅助输出项;
所述常数模减法器模块的三个输入项包括所述常数倍增器模块的一个第一中间结果输出项、一个第一中间进位输出项以及一个第一中间辅助输出项;所述常数模减法器模块的三个输出项包括一个第二中间结果输出项、一个第二中间进位输出项和一个第二中间辅助输出项;
所述常数模加法器模块的三个输入项包括所述常数模减法器模块的一个第二中间结果输出项、一个第二中间进位输出项和一个第二中间辅助输出项;所述常数模加法器模块的三个输出项包括一个模数倍增结果输出项、一个进位输出项和一个辅助输出项。
可选的,在所述通过所述目标量子线路对所述第一目标量子态的各量子比特进行模数倍增运算,生成第二目标量子态方面,所述演化单元502,具体用于:
制备进位输入量子态和辅助输入量子态;
将所述第一目标量子态作为所述待运算量子态输入项的输入,将所述进位输入量子态作为所述进位输入项的输入,将所述辅助输入量子态作为所述辅助输入项的输入,得到制备初态后的所述目标量子线路;
运行制备初态后的所述目标量子线路,以及测量所述常数模加法器模块的一个模数倍增结果输出项对应的量子比特,得到第二目标量子态。
可选的,所述常数倍增器模块由目标个数的SWAP门级联构成,所述目标个数基于所述第一目标量子态对应的量子比特的个数确定;所述常数倍增器模块的三个输入项包括所述SWAP门的两个输入项,所述常数倍增器模块的三个输入项包括所述SWAP门的两个输出项。
本发明的再一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
获取待运算的目标数据,并将所述待运算的目标数据转换为第一目标量子态;
对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态;
将最终获得的所述第二目标量子态作为所述待运算的目标数据的模数倍增运算结果进行输出。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的再一实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
获取待运算的目标数据,并将所述待运算的目标数据转换为第一目标量子态;
对所述第一目标量子态执行模数倍增运算对应的量子态演化,获得演化后的存储模数倍增运算结果的第二目标量子态;
将最终获得的所述第二目标量子态作为所述待运算的目标数据的模数倍增运算结果进行输出。
本申请的又一实施例提供了一种量子模数算术组件,包括根据上述任一项中所述的方法确定的量子模数倍增器。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (10)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111076843.6A CN115809706A (zh) 2021-09-14 2021-09-14 量子模数倍增运算方法、装置、电子装置及模数算术组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111076843.6A CN115809706A (zh) 2021-09-14 2021-09-14 量子模数倍增运算方法、装置、电子装置及模数算术组件

Publications (1)

Publication Number Publication Date
CN115809706A true CN115809706A (zh) 2023-03-17

Family

ID=85481589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111076843.6A Pending CN115809706A (zh) 2021-09-14 2021-09-14 量子模数倍增运算方法、装置、电子装置及模数算术组件

Country Status (1)

Country Link
CN (1) CN115809706A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269012A (ja) * 2007-04-16 2008-11-06 Nippon Telegr & Teleph Corp <Ntt> 量子加算演算方法及び量子加算演算装置
US20200104740A1 (en) * 2018-10-02 2020-04-02 Zapata Computing, Inc. Hybrid Quantum-Classical Computer for Solving Linear Systems
CN111401562A (zh) * 2020-03-11 2020-07-10 合肥本源量子计算科技有限责任公司 一种终端界面中量子线路的运行方法及装置
CN112114776A (zh) * 2020-09-30 2020-12-22 合肥本源量子计算科技有限责任公司 一种量子乘法运算方法、装置、电子装置及存储介质
CN112230818A (zh) * 2020-10-30 2021-01-15 合肥本源量子计算科技有限责任公司 一种在终端界面编辑量子逻辑门的方法及装置
CN113222153A (zh) * 2020-01-21 2021-08-06 合肥本源量子计算科技有限责任公司 一种量子态的模拟方法、装置、存储介质和电子装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269012A (ja) * 2007-04-16 2008-11-06 Nippon Telegr & Teleph Corp <Ntt> 量子加算演算方法及び量子加算演算装置
US20200104740A1 (en) * 2018-10-02 2020-04-02 Zapata Computing, Inc. Hybrid Quantum-Classical Computer for Solving Linear Systems
CN113222153A (zh) * 2020-01-21 2021-08-06 合肥本源量子计算科技有限责任公司 一种量子态的模拟方法、装置、存储介质和电子装置
CN111401562A (zh) * 2020-03-11 2020-07-10 合肥本源量子计算科技有限责任公司 一种终端界面中量子线路的运行方法及装置
CN112114776A (zh) * 2020-09-30 2020-12-22 合肥本源量子计算科技有限责任公司 一种量子乘法运算方法、装置、电子装置及存储介质
CN112230818A (zh) * 2020-10-30 2021-01-15 合肥本源量子计算科技有限责任公司 一种在终端界面编辑量子逻辑门的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
卫佳等: "基于IBM Q平台的量子算法研究", 计算机工程, no. 12, 30 August 2018 (2018-08-30) *

Similar Documents

Publication Publication Date Title
CN112162723B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
CN112114776B (zh) 一种量子乘法运算方法、装置、电子装置及存储介质
CN113222155B (zh) 一种量子线路的构建方法、装置、电子装置和存储介质
CN112232513A (zh) 一种量子态的制备方法及装置
CN112633508A (zh) 一种量子线路的生成方法、装置、存储介质及电子装置
CN112633507B (zh) 一种将复向量编码到量子线路的方法及装置
CN112214200B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
CN112162724B (zh) 一种带精度的量子除法运算方法及装置
CN113222156B (zh) 一种待执行操作的量子模拟方法、装置
CN113222153B (zh) 一种量子态的模拟方法、装置、存储介质和电子装置
CN115809707A (zh) 量子比较运算方法、装置、电子装置及基础算术组件
CN113222157A (zh) 一种量子模拟方法、装置、电子装置及存储介质
CN115809706A (zh) 量子模数倍增运算方法、装置、电子装置及模数算术组件
CN115809042A (zh) 量子模数加法运算方法、装置、电子装置及模数算术组件
CN115879554A (zh) 量子模数平方运算方法、装置、电子装置及模数算术组件
CN112162725B (zh) 一种量子除法运算方法、装置、电子装置及存储介质
CN115879555A (zh) 量子模数快速乘法运算方法、装置及模数算术组件
CN115879553A (zh) 量子模数完整乘法运算方法、装置及模数算术组件
CN115879552A (zh) 量子模数乘逆运算方法、装置、电子装置及模数算术组件
CN115879556A (zh) 量子模数运算方法、装置、介质及模数算术组件
WO2024109730A1 (zh) 变量模乘运算器、运算方法及相关装置
CN116048458A (zh) 基于量子计算的数值划分方法、装置、设备及存储介质
CN118095458A (zh) 变量模乘运算器、运算方法及相关装置
CN117744817A (zh) 基于量子傅里叶变换的常数模加运算器、方法及相关装置
CN118095456A (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