CN112162723A - 一种量子加法运算方法、装置、电子装置及存储介质 - Google Patents

一种量子加法运算方法、装置、电子装置及存储介质 Download PDF

Info

Publication number
CN112162723A
CN112162723A CN202011058756.3A CN202011058756A CN112162723A CN 112162723 A CN112162723 A CN 112162723A CN 202011058756 A CN202011058756 A CN 202011058756A CN 112162723 A CN112162723 A CN 112162723A
Authority
CN
China
Prior art keywords
quantum
quantum state
module
target
maj
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
Application number
CN202011058756.3A
Other languages
English (en)
Other versions
CN112162723B (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.)
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 CN202011058756.3A priority Critical patent/CN112162723B/zh
Publication of CN112162723A publication Critical patent/CN112162723A/zh
Priority to EP21874279.9A priority patent/EP4224308A1/en
Priority to US18/029,558 priority patent/US12086569B2/en
Priority to PCT/CN2021/119125 priority patent/WO2022068618A1/zh
Application granted granted Critical
Publication of CN112162723B publication Critical patent/CN112162723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • G06F7/575Basic arithmetic logic units, i.e. devices selectable to perform either addition, subtraction or one of several logical operations, using, at least partially, the same circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Logic Circuits (AREA)

Abstract

本发明属于量子计算领域,特别是一种量子加法运算方法、装置、电子装置及存储介质,该方法用于进行量子线路中的基本算术运算操作,获取加法指令以及待运算的两目标数据,并将所述两目标数据转换为两个目标量子态;根据所述目标量子态中的各量子比特的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数;根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成加法器对应的目标量子线路;通过所述目标量子线路对所述两个目标量子态的各量子比特进行加法运算,生成并输出目标量子态结果,从而实现可以用于量子线路中的基本算术运算操作,填补了相关技术的空白。

Description

一种量子加法运算方法、装置、电子装置及存储介质
技术领域
本发明属于量子计算领域,特别是一种量子加法运算方法、装置、电子装置及存储介质。
背景技术
量子计算机利用量子的叠加性,理论上在某些情形下有指数级加速的能力。譬如破解RSA密钥在经典计算机上需要数百年,而在量子计算机上执行量子算法只需数小时。但是目前量子计算机的受限于量子芯片硬件的发展导致的可操控的比特数有限,因此计算能力有限,并不能普遍地去运行量子算法。普遍地运行量子算法通常需要借助量子加法运算方法。
在量子算法的实现过程中,通常需要借助各种量子逻辑门构建量子算法,但是,仅依靠各种量子逻辑门构建量子算法时,并没有对应经典运算例如加、减、乘、除的基本算术运算操作的量子逻辑门。因此,急需提供一种能够实现量子线路中的基本算术运算操作的技术,以填补相关技术空白。
发明内容
本发明的目的是提供一种量子加法运算方法、装置、电子装置及存储介质,以解决现有技术中的不足,它能够填补相关技术空白,用于量子线路中实现基本算术运算操作。
本发明采用的技术方案如下:
一种量子加法运算方法,所述方法包括:
获取加法指令以及待运算的两目标数据,并将所述两目标数据转换为两个目标量子态;
根据所述目标量子态中的各量子比特的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;
根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成加法器对应的目标量子线路;
通过所述目标量子线路对所述两个目标量子态的各量子比特进行加法运算,生成并输出目标量子态结果。
如上所述的,其中,优选的是,所述MAJ模块为MAJ量子线路,所述UMA模块为UMA量子线路,所述MAJ量子线路和所述UMA量子线路均包括两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门,
所述根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成加法器对应的目标量子线路的步骤之前,还包括:
获取所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门对应的操作量子比特、操作量子比特之间的控制关系以及所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门之间的时序关系;
根据所述操作量子比特、所述控制关系以及所述时序关系,将所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门构建生成所述MAJ量子线路或所述UMA量子线路,作为对应的MAJ模块或UMA模块。
如上所述的,其中,优选的是,至少一个MAJ模块级联组成MAJ级联模块,至少一个UMA模块级联组成UMA级联模块,所述MAJ级联模块以及所述UMA级联模块均包括三个输入项以及三个输出项,
所述根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器对应的目标量子线路的步骤具体包括:
根据所述加法指令,将一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述加法器对应的目标量子线路。
如上所述的,其中,优选的是,所述MAJ级联模块的三个输入项包括一个进位输入项以及两个待计算子量子态输入项,所述MAJ级联模块的三个输出项包括一个进位输出项和两个中间结果输出项,所述UMA级联模块的三个输入项包括对应MAJ级联模块的一个进位输出项以及两个中间结果输出项,所述UMA级联模块的三个输出项包括一个结果进位输出项、累加和输出项和一待计算子量子态输入项,
所述根据所述加法指令,将一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述加法器对应的目标量子线路的步骤具体包括:
根据所述加法指令,将上一MAJ模块输出的进位输出项以及所述两个待计算子量子态输入项作为下一MAJ模块的三个输入项,以将所述目标模块个数的MAJ模块进行级联,生成所述MAJ级联模块;
将一MAJ模块的两个中间结果输出项作为一对应UMA模块的两个输入项,获取所述对应UMA模块的上一UMA模块,并将所述上一UMA模块的结果进位输出项作为所述对应UMA模块的一个输入项,以将所述目标模块个数的MAJ模块以及所述目标模块个数的UAM模块进行级联,生成所述UMA级联模块,其中,最后一个MAJ模块的进位输出项作为对应的第一UMA模块的一个输入项;
将所述一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述初始量子线路;
将所述初始量子线路中最后一个MAJ级联模块与对应的第一个UMA级联模块之间添加CNOT量子逻辑门,其中,将所述MAJ级联模块的进位输出项对应的量子比特作为控制比特,将预设进位辅助比特作为受控比特位,以生成所述加法器的目标量子线路。
如上所述的,其中,优选的是,所述量子加法运算方法还包括:
获取待运算的被减数数据和减数数据,并将所述被减数数据转换为第一目标量子态,将所述减数数据转换为第二目标量子态;其中,目标量子态包括:表示所述数据符号的符号位子量子态和表示所述数据数值的数值位子量子态;
获取第二预设辅助比特的量子态,根据所述第一目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第一目标量子态执行求补码运算对应的量子态演化,得到第一补码量子态;其中,所述第一补码量子态为包含所述被减数数据的补码的量子态;
将所述第二目标量子态中的符号位子量子态执行对应的量子态演化,并根据取反后的符号位子量子态和所述第二预设辅助比特的量子态,控制当前第二目标量子态执行求补码运算对应的量子态演化,得到第二补码量子态;其中,所述第二补码量子态为包含所述减数数据的补码的量子态;
对所述第一补码量子态和所述第二补码量子态,执行量子加法运算,以将所述第一补码量子态演化为包含所述被减数数据的补码与所述减数数据的补码之和的第三目标量子态;
根据所述第三目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第三目标量子态执行求补码运算对应的量子态演化,得到演化后的第四目标量子态,作为所述被减数数据和所述减数数据的减法运算结果进行输出;其中,所述第四目标量子态为包含所述补码之和的补码的量子态。
如上所述的,其中,优选的是,所述控制所述第三目标量子态执行求补码运算对应的量子态演化,得到演化后的第四目标量子态的步骤之后,还包括:
根据当前第二目标量子态中的符号位子量子态和当前第二预设辅助比特的量子态,控制当前第二目标量子态执行求补码运算对应的量子态演化,并对当前第二目标量子态中的符号位子量子态执行符号位取反对应的量子态演化,以将当前第二目标量子态进行还原。
如上所述的,其中,优选的是,所述根据所述第一目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第一目标量子态执行求补码运算对应的量子态演化的步骤具体包括:
对所述第一目标量子态中的符号位子量子态对应的第一符号位量子比特和所述第二预设辅助比特执行CNOT门操作,其中,所述第一符号位量子比特为控制比特,所述第二预设辅助比特为受控比特;
根据执行CNOT门操作后的所述第二预设辅助比特的量子态,控制当前第一目标量子态是否执行求补码运算对应的量子态演化;
若是,则对当前第一目标量子态的非符号位子量子态取反,并将取反后的第一目标量子态与第二预设辅助比特的量子态|1>态,执行量子加法运算,得到演化后的第一补码量子态,否则,将所述第一目标量子态作为第一补码量子态;
对当前第一符号位量子比特和第二预设辅助比特执行CNOT门操作,以将当前第二预设辅助比特的量子态进行还原;其中,所述第一符号位量子比特为控制比特,所述第二预设辅助比特为受控比特。
本发明还采用的技术方案如下:
一种量子加法运算装置,所述装置包括:
运算数据获取模块,用于获取加法指令以及待运算的两目标数据,并将所述两目标数据转换为两个目标量子态;
级联模块确定模块,用于根据所述目标量子态中的各量子比特的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;
量子线路生成模块,用于根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器对应的目标量子线路;目标量子运算模块,用于通过所述目标量子线路对所述两个目标量子态的各量子比特进行加法运算,生成并输出目标量子态结果。
如上所述的,其中,优选的是,所述MAJ模块为MAJ量子线路,所述UMA模块为UMA量子线路,所述MAJ量子线路和所述UMA量子线路均包括两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门,所述装置还包括级联模块预置模块:
获取所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门对应的操作量子比特、操作量子比特之间的控制关系以及所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门之间的时序关系;
根据所述操作量子比特、所述控制关系以及所述时序关系,将所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门构建生成所述MAJ量子线路或所述UMA量子线路,作为对应的MAJ模块或UMA模块。
如上所述的,其中,优选的是,至少一个MAJ模块级联组成MAJ级联模块,至少一个UMA模块级联组成UMA级联模块,所述MAJ级联模块以及所述UMA级联模块均包括三个输入项以及三个输出项,所述量子线路生成模块还用于:
所述根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器对应的目标量子线路的步骤具体包括:
根据所述加法指令,将一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述加法器对应的目标量子线路。
如上所述的,其中,优选的是,所述MAJ级联模块的三个输入项包括一个进位输入项以及两个待计算子量子态输入项,所述MAJ级联模块的三个输出项包括一个进位输出项和两个中间结果输出项,所述UMA级联模块的三个输入项包括对应MAJ级联模块的一个进位输出项以及两个中间结果输出项,所述UMA级联模块的三个输出项包括一个结果进位输出项、累加和输出项和一待计算子量子态输入项,所述量子线路生成模块还用于:
根据所述加法指令,将上一MAJ模块输出的进位输出项以及所述两个待计算子量子态输入项作为下一MAJ模块的三个输入项,以将所述目标模块个数的MAJ模块进行级联,生成所述MAJ级联模块;
将一MAJ模块的两个中间结果输出项作为一对应UMA模块的两个输入项,获取所述对应UMA模块的上一UMA模块,并将所述上一UMA模块的结果进位输出项作为所述对应UMA模块的一个输入项,以将所述目标模块个数的MAJ模块以及所述目标模块个数的UAM模块进行级联,生成所述UMA级联模块,其中,最后一个MAJ模块的进位输出项作为对应的第一UMA模块的一个输入项;
将所述一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述初始量子线路;
将所述初始量子线路中最后一个MAJ级联模块与对应的第一个UMA级联模块之间添加CNOT量子逻辑门,其中,将所述MAJ级联模块的进位输出项对应的量子比特作为控制比特,将预设进位辅助比特作为受控比特位,以生成所述加法器的目标量子线路。
如上所述的,其中,优选的是,所述装置包括:
运算数据获取模块,用于获取待运算的被减数数据和减数数据,并将所述被减数数据转换为第一目标量子态,将所述减数数据转换为第二目标量子态;其中,目标量子态包括:表示所述数据符号的符号位子量子态和表示所述数据数值的数值位子量子态;
第一量子态演化模块,用于获取第二预设辅助比特的量子态,根据所述第一目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第一目标量子态执行求补码运算对应的量子态演化,得到第一补码量子态;其中,所述第一补码量子态为包含所述被减数数据的补码的量子态;
第二量子态演化模块,用于将所述第二目标量子态中的符号位子量子态执行符号位取反对应的量子态演化,并根据取反后的符号位子量子态和所述第二预设辅助比特的量子态,控制当前第二目标量子态执行求补码运算对应的量子态演化,得到第二补码量子态;其中,所述第二补码量子态为包含所述减数数据的补码的量子态;
第三量子态演化模块,用于对所述第一补码量子态和所述第二补码量子态,执行加法运算对应的量子态演化,以将所述第一补码量子态演化为包含所述被减数数据的补码与所述减数数据的补码之和的第三目标量子态;
目标量子运算模块,用于根据所述第三目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第三目标量子态执行求补码运算对应的量子态演化,得到演化后的第四目标量子态,作为所述被减数数据和所述减数数据的减法运算结果进行输出;其中,所述第四目标量子态为包含所述补码之和的补码的量子态。
如上所述的,其中,优选的是,在所述目标量子运算模块之后,所述装置还包括:
还原模块,用于根据当前第二目标量子态中的符号位子量子态和当前第二预设辅助比特的量子态,控制当前第二目标量子态执行求补码运算对应的量子态演化,并对当前第二目标量子态中的符号位子量子态执行符号位取反对应的量子态演化,以将当前第二目标量子态进行还原。
如上所述的,其中,优选的是,所述第一量子态演化模块,具体用于:
对所述第一目标量子态中的符号位子量子态对应的第一符号位量子比特和所述第二预设辅助比特执行CNOT门操作,其中,所述第一符号位量子比特为控制比特,所述第二预设辅助比特为受控比特;
根据执行CNOT门操作后的所述第二预设辅助比特的量子态,控制当前第一目标量子态是否执行求补码运算对应的量子态演化;
若是,则对当前第一目标量子态的非符号位子量子态取反,并将取反后的第一目标量子态与第二预设辅助比特的量子态|1>态,执行加法运算对应的量子态演化,得到演化后的第一补码量子态,否则,将所述第一目标量子态作为第一补码量子态;
对当前第一符号位量子比特和第二预设辅助比特执行CNOT门操作,以将当前第二预设辅助比特的量子态进行还原;其中,所述第一符号位量子比特为控制比特,所述第二预设辅助比特为受控比特。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述方法步骤。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述方法步骤。
与现有技术相比,本发明提供的量子加法运算方法,通过获取加法指令以及待运算的两目标数据,并将所述两目标数据转换为两个目标量子态;根据所述目标量子态中的各量子比特的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成加法器对应的目标量子线路;通过所述目标量子线路对所述两个目标量子态的各量子比特进行加法运算,生成并输出目标量子态结果。从而实现可以用于量子线路中的基本算术运算操作,填补了相关技术的空白。
附图说明
图1是本发明实施例的一种量子加法运算方法的计算机终端的硬件结构框图;
图2是本发明一实施例提供的量子加法运算方法的流程示意图;
图3是本发明提供的加法器示意图;
图4是本发明提供的加法器量子线路示意图;
图5是本发明提供的MAJ模块示意图;
图6是本发明提供的MAJ模块量子线路组合过程示意图;
图7是本发明提供的UMA模块示意图;
图8是本发明提供的UMA模块量子线路组合过程示意图;
图9是本发明提供的求补码运算的量子线路示意图;
图10是本发明提供的减法器对应的前半部分量子线路示意图;
图11是本发明提供的减法器对应的后半部分量子线路示意图;
图12是本发明提供的减法器对应的量子线路示意图;
图13是本发明一实施例提供的量子加法运算装置的结构示意图。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明的实施例提供了一种量子加法运算方法,用于在量子线路中实现量子比特的基本算术运算操作,该方法可以应用于电子设备,如移动终端,具体如手机、平板电脑;如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图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门)、Pauli-X门、Pauli-Y门、Pauli-Z门、RX门、RY门、RZ门;多比特量子逻辑门,如CNOT门、CR门、iSWAP门、Toffoli门。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。
目前,并没有可以实现一些经典运算例如四则运算功能,示例性的:加、减、乘、除运算量子逻辑门,亟待构造量子线路以实现任一四则运算的功能操作,进而推动量子计算的发展,以及量子应用领域的扩展和落地。
本发明的实施例一提供了一种量子加法运算方法,如图2所示,所述方法包括:
S201,获取加法指令以及待运算的两目标数据,并将所述两目标数据转换为两个目标量子态;
本实施例用于介绍如何在量子计算机中实现加法运算的逻辑电路,并结合预先开发软件QPanda对每个模块进行说明。任何经典逻辑电路,也可以通过量子线路来表示。经典电路和量子线路一一对应,量子逻辑门/量子线路的输入与输出均是量子比特,且输入与输出的量子比特数量相等。量子线路允许量子态以叠加的方式输入,输出的状态即可以相同的方式叠加输出。可逆计算是量子计算的基本,即任何可逆线路存在逆线路,也就是说,将每个原有的输出作为输入,正好可以映射到原来的输入上。可逆线路意味着对于每一种输出,都正好有一种输入与之对应,这种映射是一一映射。例如非门是一个典型的可逆逻辑门,它的逆线路就是它自身。典型的不可逆逻辑门就是与门、或门。例如与门的输入是0,0;0,1;1,0的时候均输出0,这说明不存在从输出到输入的唯一映射。可逆计算意味着信息在计算过程中没有丢失,经过逆变换之后可以恢复原来的状态。不可逆计算意味着信息丢失了。例如从与门的输出,无法推知输入的状态。对于可逆计算来说,是可以推知的。任何连续执行的可逆逻辑门,合起来是一个可逆操作。量子逻辑门全部是可逆逻辑门,所以量子线路是可逆线路。但是量子测量不是可逆计算。
具体地,接收用户输入的加法指令,并获取加法指令对应的待运算的两目标数据,并将待运算的两个目标数据转换为对应的两个目标量子态。可以利用现有的振幅编码方式,将待运算的十进制数据转换为二进制的量子态表示。例如,第一加法数数据为7,带符号的二进制表示0111,最高位为0表示正数,1表示负数;第二加法数据为4,带符号的二进制表示011。其中,目标量子态为两个目标量子比特对应的本征态,量子比特位对应的所有本征态表征的数量是2的量子比特位的个数次方。例如:例如一组量子比特为q0、q1、q2,表示第0位、第1位、第2位量子比特,从高位到低位排序为q2q1q0,则该组量子比特位对应的本征态(即量子态)总共有8个,分别为:|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,该8个本征态之间的叠加态。该组量子比特位的个数可以根据实际运算需要进行设置。
需要说明的是,如图3所示,线路中第一个量子比特位为第一预设辅助比特位,初始为|0>态,最终会恢复为|0>态,线路中的a和b是待相加的数据对应的量子态,各对应一组量子比特位。c表示最终的进位项,对应预设进位辅助比特位,s是不包含进位的输出位。一般要求a和b对应的量子比特位数相同,s和a、b的位数相同。其中,a[i]b[i]分别是两个加数对应量子态的第i位,c[i]是上一级进位。
s[i]=a[i]XOR b[i]XOR c[i]
c[i+1]=(a[i]AND b[i])XOR(a[i]AND b[i])XOR(a[i]AND b[i])。
S202,根据所述目标量子态中的各量子比特的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;
本实施例中,如图4所示,s=a+b。在最终输出的结果中,第一个qubit(也就是上面级联线路中的c0),最终会恢复为0态。a和b都是一组qubit绑定成的数,一般要求a和b的位数相同。s是不包含进位的输出位,和b的位数相同。c是最终的进位项。一个MAJ模块包括三个输入量子态以及对应的三个输出量子态,其中,第一个量子比特即为第一预设辅助比特位,对应量子线路中的c0。第一个MAJ模块包括三个输入量子态以及对应的三个输出量子态,其中,三个输入量子态分别为c0、a0、b0,a0为第一个待运算量子态的第0位量子态,b0为第二个待运算量子态的第0位量子态,c0为第三预设辅助比特的量子态,初始值为0,即无进位。三个输出量子态分别为
Figure BDA0002711683910000131
c1,c1为a0和b0相加后的进位,同理,下一个MAJ模块的三个输入量子态为c1、a1、b1,三个输出量子态分别为
Figure BDA0002711683910000132
c2,以此类推至最后一个MAJ模块。
对于第一个UMA模块,包括三个输入量子态以及对应的三个输出量子态,其中,MAJ模块的三个输出量子态为对应UMA模块的三个输入量子态,三个输出量子态分别为c0、s0、a0,s0为a0和b0相加的不含进位的结果。同理,s1为a1和b1相加的不含进位的结果,以此类推,c4是最终的进位项,对应预设进位辅助比特。需要说明的是,在实际应用中,在无计算最终进位的需求下,量子线路中可以不设置c4对应的量子比特位。
并且,可以根据其中待运算的任一量子态包含的子量子态数量确定MAJ模块的模块个数以及UMA模块的个数,一子量子态对应一位量子比特,其中,MAJ模块的模块个数以及UMA模块的个数相等。图中所示仅仅作为示例,编码a和b各所需4位量子比特,MAJ模块和UMA模块的个数均为4。MAJ模块和UMA模块构成了加法器的前、后级联单元。MAJ模块可以用于提取出任何一步的进位项并且传递到下一级,从而将最终进位项计算出来。UMA模块一方面提取了c的信息会传递到上一级UMA,还计算出每一级的s(结果项),并且恢复了a的信息。
示例性的:当4(对应编码在3个量子比特的量子态表示为100)+2(对应编码在3个量子比特的量子态表示为010)=6(对应编码在3个量子比特的量子态表示为110)。此时编码运算结果的量子比特与编码a的量子比特位的个数或用来编码b的量子比特位的个数一致,MAJ模块的模块个数以及UMA模块的个数均为3。
示例性的:当4(对应编码在3个量子比特的量子态表示为100)+7(对应编码在3个量子比特的量子态表示为111)=11(对应编码在3个量子比特的量子态表示为011),但是,可以理解的是11对应的二进制数为1011,最左侧的1所在的位为进位项,该进位项可以通过辅助比特位表示。此时编码运算结果的量子比特与编码a的量子比特位的个数或用来编码b的量子比特位的个数要多,MAJ模块的模块个数以及UMA模块的个数均为3。
示例性的,当2(对应编码在2个量子比特的量子态表示为10)+4(对应编码在3个量子比特的量子态表示为100)=6(对应编码在3个量子比特的量子态表示为110)。此时,编码“6”数值的数值项“3”与编码b的量子比特位的量子态个数一致,MAJ模块的模块个数以及UMA模块的个数均为3。
S203,根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成加法器对应的目标量子线路;
其中,至少一个MAJ模块级联组成MAJ级联模块,至少一个UMA模块级联组成UMA级联模块,所述MAJ级联模块以及所述UMA级联模块均包括三个输入项以及三个输出项,
所述根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器对应的目标量子线路的步骤具体包括:
根据所述加法指令,将一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述加法器对应的目标量子线路。
本实施例中,如图4所示,根据图示方式,将所述MAJ模块的三个输出比特作为所述UMA模块的三个输入比特,由此,将相同个数的MAJ模块以及UMA模块进行级联,生成所述加法器对应的目标量子线路。
其中,所述MAJ模块为MAJ量子线路,所述UMA模块为UMA量子线路,所述MAJ量子线路和所述UMA量子线路均包括两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门,
所述根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成加法器对应的目标量子线路的步骤之前,还包括:
获取所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门对应的操作量子比特、操作量子比特之间的控制关系以及所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门之间的时序关系;
根据所述操作量子比特、所述控制关系以及所述时序关系,将所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门构建生成所述MAJ量子线路或所述UMA量子线路,作为对应的MAJ模块或UMA模块。
本实施例中,MAJ模块和UMA模块构成了加法器的前、后级联单元。如图5所示,MAJ模块用于提取出每一级加法运算后的进位项并且传递到下一级,从而将最终进位项计算出来。其中,线路图中空心圆表示NOT操作,实心圆表示控制比特。UMA模块一方面用于提取进位项c的值,并将进位项c的值传递到上一级UMA模块,并计算出每一级的和s(结果项),并且恢复了a的值。其中,如图6所示,MAJ模块可以由三个逻辑门组成,分别是两个CNOT门和一个Toffoli门。CNOT门(图6中的由左向右的第一个、第二个逻辑门)的作用为:将控制位加到目标位上去,形成一个模2加法,即为异或操作,得到(a+c)%2,因此顺序可以交换。Toffoli门(图6中的由左向右的第三个逻辑门)的作用为:将两个控制位都加到目标位上去,得到进位项ci,c[i+1]=(a[i]AND b[i])XOR(a[i]AND b[i])XOR(a[i]AND b[i])。即通过图6中的由左向右的第一个CNOT门实现
Figure BDA0002711683910000151
通过图6中的由左向右的第二个CNOT门实现
Figure BDA0002711683910000152
通过图6中的由左向右的第三个TOFFOLI门实现ci+1,由此通过2个CNOT门和1个TOFFOLI门,构成量子加法器的前级级联单元。
例子1:ai为1,bi为1,ci为1。
MAJ模块开始把ai加到ci上,ci上的值变为0,再把ai加到bi上,bi上的值也变为0,最后用bi和ci加到ai上,ai的值变为1,也就是ci+1的进位为1。
例子2:ai为0,bi为1,ci为1。
MAJ模块开始把ai加到ci上,ci上的值变为1,再把ai加到bi上,bi上的值也变为1,最后用bi和ci加到ai上,ai的值变为1,也就是ci+1的进位为1。
如图7所示,UMA模块用于级联加法器的后级,UMA模块的实现方式和MAJ模块类似,如图8所示,首先使用Toffoli门(图8中的由左向右的第一个逻辑门)将ci+1还原为ai,再用ai对(a+c)%2用CNOT门(图8中的由左向右的第二个逻辑门)做一次还原,还原为ci,最后,再使用ci对(a+b)%2做一次CNOT门(图8中的由左向右的第三个逻辑门),得到当前位的最终结果si
例子1:(ai+ci)%2为0,(ai+bi)%2为0,ci+1为1。
开始把(ai+ci)%2和(ai+bi)%2加到ci+1上,ci+1的值变为1,表示的意义变为ai,再用ai加到(ai+ci)%2上,(ai+ci)%2的值变为1,表示的意义变为ci,再用ci加到(ai+bi)%2上,(ai+bi)%2的值变为1,表示的意义变为si
例子2:(ai+ci)%2为1,(ai+bi)%2为1,ci+1为1。
开始把(ai+ci)%2和(ai+bi)%2加到ci+1上,ci+1的值变为0,表示的意义变为ai,再用ai加到(ai+ci)%2上,(ai+ci)%2的值变为1,表示的意义变为ci,再用ci加到(ai+bi)%2上,(ai+bi)%2的值变为0,表示的意义变为si
如图4中由上向下的最后一个CNOT门,即整个加法器MAJ模块和UMA模块中间的CNOT门,用于保存ci+1的结果。
具体地,所述MAJ级联模块的三个输入项包括一个进位输入项以及两个待计算子量子态输入项,所述MAJ级联模块的三个输出项包括一个进位输出项和两个中间结果输出项,所述UMA级联模块的三个输入项包括对应MAJ级联模块的一个进位输出项以及两个中间结果输出项,所述UMA级联模块的三个输出项包括一个结果进位输出项、累加和输出项和一待计算子量子态输入项,
所述根据所述加法指令,将一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述加法器对应的目标量子线路的步骤具体包括:
根据所述加法指令,将上一MAJ模块输出的进位输出项以及所述两个待计算子量子态输入项作为下一MAJ模块的三个输入项,以将所述目标模块个数的MAJ模块进行级联,生成所述MAJ级联模块;
将一MAJ模块的两个中间结果输出项作为一对应UMA模块的两个输入项,获取所述对应UMA模块的上一UMA模块,并将所述上一UMA模块的结果进位输出项作为所述对应UMA模块的一个输入项,以将所述目标模块个数的MAJ模块以及所述目标模块个数的UAM模块进行级联,生成所述UMA级联模块,其中,最后一个MAJ模块的进位输出项作为对应的第一UMA模块的一个输入项;
将所述一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述初始量子线路;
将所述初始量子线路中最后一个MAJ级联模块与对应的第一个UMA级联模块之间添加CNOT量子逻辑门,其中,将所述MAJ级联模块的进位输出项对应的量子比特作为控制比特,将预设进位辅助比特作为受控比特位,以生成所述加法器的目标量子线路。
更多实施例中,在不需要进位项的情况下,可以不设置该CNOT门以及进位辅助比特位。
S204,通过所述目标量子线路对所述两个目标量子态的各量子比特进行加法运算,生成并输出目标量子态结果。
本实施例中,通过将两个目标量子态的各子量子态,如|111>和|111>、,输入加法器(即所述目标量子线路)中,得到对应的二进制表示目标量子态计算结果(包括进位项以及各子量子态直接相加得到的结果项)。然后将二进制表示的目标量子态结果|1110>直接输出,或进一步转化为十进制结果14并输出,完成两目标数据的加法运算。
可见,本发明提供的量子除法运算方法,用于实现量子线路中的基本算术运算操作,获取待运算的被除数数据和除数数据,并将所述被除数数据转换为第一目标量子态,将所述除数数据转换为第二目标量子态;对所述第一目标量子态和所述第二目标量子态,迭代执行减法运算对应的量子态演化,并对所述减法运算的执行次数进行计数,直至将所述被除数数据减为负数;将最终获得的计数结果,作为所述被除数数据与所述除数数据相除的商,转换为十进制表示并输出,从而实现可以用于量子线路中的基本算术运算操作,填补了相关技术的空白。
本发明的另一实施例提供了详细说明执行减法运算方法的具体实现方式。
对于待运算的两个量子态,分别作为包含被减数据的被减数量子态和包含减数数据的减数量子态,获取第二预设辅助比特的量子态,根据所述被减数量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述被减数量子态执行求补码运算对应的量子态演化,得到第一补码量子态;其中,所述第一补码量子态为包含所述被减数数据的补码的量子态;
由前述实施例可知,待运算的两个量子态有以下组:第一目标量子态和第二目标量子态;第三目标量子态和第四目标量子态;第一目标量子态和符号位取反后的第二目标量子态。其中,前者可称被减数量子态,包含的数据在减法运算中为被减数,后者可称减数量子态,包含的数据为减数。
本实施例中,主要用于实现减法器功能,减法器和下述加法器最大的区别就是会产生负数的情况,因此,采用二进制的处理方式,对减数和被减数都加一个符号位,来表示数值的正负,并且使用补码来进行运算。正数补码不变,负数除符号位外按位取反后,再加1。对应到量子线路中,即用符号位控制是否做补码操作,取反用X门,加1可通过加法器实现。在补码情况下运算完成后,再将结果做一次补码运算就得到了目标数值。获取待运算的被减数数据和减数数据,并将所述被减数数据以及所述减数数据分别转换为第一目标量子态和第二目标量子态。其中,目标量子态包括:表示所述数据符号的符号位子量子态和表示所述数据数值的数值位子量子态。
具体的,根据被减数量子态中的符号位子量子态和第二预设辅助比特的量子态,控制被减数量子态执行求补码运算对应的量子态演化,可以对被减数量子态中的符号位子量子态对应的第一符号位量子比特和第二预设辅助比特执行CNOT门操作,其中,第一符号位量子比特为控制比特,第二预设辅助比特为受控比特;并且,CNOT门可以用等效的其他现有的量子逻辑门或量子逻辑门组合进行替代,也是合理可行的;
根据执行CNOT门操作后的第二预设辅助比特的量子态,控制当前被减数量子态是否执行求补码运算对应的量子态演化;
若是,则对当前被减数量子态的非符号位子量子态取反,并将取反后的被减数量子态与第二预设辅助比特的量子态|1>态,执行量子加法运算,得到演化后的第一补码量子态,否则,将所述被减数量子态作为第一补码量子态;其中,执行CNOT门操作后的第二预设辅助比特的量子态可以为|1>态时,才控制执行求补码运算对应的量子态演化,否则不执行;
对当前第一符号位量子比特和第二预设辅助比特执行CNOT门操作,以将当前第二预设辅助比特的量子态进行还原;其中,所述第一符号位量子比特为控制比特,所述第二预设辅助比特为受控比特。
示例性的,被减数量子态假设为|0011>。|0011>的符号位子量子态为最高位的子量子态即|0>态,该位的值为0,对应的第一符号位量子比特设为g.sign,第二预设辅助比特为预设的量子比特q1,初始为|0>态。
对g.sign和q1执行CNOT门操作,g.sign作为控制比特,q1作为受控比特,g.sign位的量子态为|0>态,经过CNOT门操作后,受控比特位q1的量子态|0>不变。
由于执行CNOT门操作后的q1的量子态为|0>态,故不对被减数量子态执行求补码运算对应的量子态演化。原理上在于,被减数为正数时,在减法运算中无需求补码,或者说,其补码即为本身,可直接将|0011>作为第一补码量子态。
最后,可以对当前g.sign和q1再次执行CNOT门,g.sign位的量子态为|0>态,经过CNOT门操作后,受控比特位q1的量子态|0>不变,以还原q1为|0>态,从而释放第三辅助比特存储的信息。可得,第一补码量子态包含的值0011为被减数0011的补码。
如图9所示,q1为第二预设辅助比特,用于控制是否做补码操作,所述第一目标量子态为g,g.sign为所述第一目标量子态中的符号位子量子态,剩余的g为表示所述数据数值的数值位子量子态,j为第二预设辅助比特,即被设置成值为1的辅助比特,p为加法器所使用的辅助比特(下述第一预设辅助比特)。
图9所示的量子线路实现了对g做求补码的操作的量子线路,先对g.sign与q1进行CNOT门操作,使得q1暂时表示g.sign,并用q1控制是否进行求补码,求完补码后,再将q1还原。由此,控制被减数量子态执行求补码运算对应的量子态演化,得到第一补码量子态。
具体地,根据g的符号位子量子态,用第二预设辅助比特q1来控制是否做取补码的操作。若g为负数,则进行负数的取补码操作。负数的补码为除符号位外按位取反后加1,除符号位外按位取反的操作用逻辑门来实现的话,只需要对数值位全都做X门即可,取反后还需要加1,因此,通过使用j和g相加,j的值被设置为了1,p为加法器的辅助比特,在将数值位取反后的g和j相加后,g上存放的就是取完补码后的数值,再将q1还原,以便下次使用。
例子:当g为负数时,g.sign为1,因此q1也为1,就需要做取反等操作,而当g为正数时,g.sign为0,因此q1也为0,就不需要再求补码了。
将所述减数量子态中的符号位子量子态执行符号位取反对应的量子态演化,并根据取反后的符号位子量子态和所述第二预设辅助比特的量子态,控制当前减数量子态执行求补码运算对应的量子态演化,得到第二补码量子态;其中,所述第二补码量子态为包含所述减数数据的补码的量子态;
具体的,可以对减数量子态中的符号位子量子态对应的第二符号位量子比特,执行X门操作,得到取反后的符号位子量子态;其中,X门可以用等效的其他现有的量子逻辑门或量子逻辑门组合进行替代,也是合理可行的;
同样的,继续对当前第二符号位量子比特和第二预设辅助比特执行CNOT门操作,其中,所述第二符号位量子比特为控制比特,所述第二预设辅助比特为受控比特;
根据执行CNOT门操作后的第二预设辅助比特的当前量子态,控制当前减数量子态是否执行求补码运算对应的量子态演化;
若是,则对当前减数量子态的非符号位子量子态取反,并将取反后的减数量子态与第二预设辅助比特的量子态|1>态,执行量子加法运算,得到演化后的第二补码量子态,否则,将当前减数量子态作为第二补码量子态;
对当前第二符号位量子比特和第二预设辅助比特执行CNOT门操作,以将第二预设辅助比特的当前量子态进行还原;其中,所述第二符号位量子比特为控制比特,所述第二预设辅助比特为受控比特。
示例性的,减数量子态假设为|0100>。|0100>的符号位子量子态为最高位的子量子态即|0>态,该位的值为0,对应的第二符号位量子比特设为b.sign,当前第三辅助比特被还原为|0>态。
首先,可以对h.sign执行X门,将对应的符号位子量子态|0>取反为|1>,减数量子态变为|1100>。
继续对h.sign和q1执行CNOT门操作,h.sign作为控制比特,q1作为受控比特,当前h.sign位的量子态为|1>态,经过CNOT门操作后,受控比特位q1的量子态|0>被取反为|1>态。
执行CNOT门操作后的q1的量子态为|1>态,故对当前减数量子态|1100>执行求补码运算对应的量子态演化。一种执行求补码运算对应的量子态演化的实现如下:
对当前减数量子态|1100>的非符号位子量子态取反,并将取反后的减数量子态|1011>与第二预设辅助比特的量子态|1>态,执行量子加法运算,得到演化后的第二补码量子态为|1100>。
其中,可通过执行X门对|1100>的非符号位子量子态|100>取反;为了保持维度一致,第二预设辅助比特为预设的4位量子比特m3、m2、m1、m0,第二预设辅助比特的量子态|1>实际上写为|0001>,两者是等同的。
最后,可对当前h.sign和q1再次执行CNOT门,h.sign位的量子态为|1>态,经过CNOT门操作后,受控比特位q1的量子态|1>被取反为|0>,从而再次还原q1为初始|0>态,释放q1的存储空间。可得,第二补码量子态包含的值1100为对h.sign执行X门后的减数1100的补码。
本实施例中,所述第二目标量子态h也是同理,初始对j[0]做X门是为了设置值为1,对第二目标量子态中的符号位子量子态h.sign做X门是为了把减法变成加法。如图10所示,图10为对g、h执行求补码运算对应的量子态演化的量子线路示意图,参考上述同理方法将第二目标量子态h执行求补码运算对应的量子态演化,得到第二补码量子态。
对所述第一补码量子态和所述第二补码量子态,执行量子加法运算,以将所述第一补码量子态演化为包含所述被减数数据的补码与所述减数数据的补码之和的第五目标量子态;
示例性的,对第一补码量子态为|0011〉和第二补码量子态为|1100>,执行量子加法运算,将第一补码量子态|0011>演化为第五目标量子态|1111>。
本实施例中,在求完补码后,将g和h进行加法操作,加完后,再将之前的操作进行还原,g内储存的即为所求。将所述第一补码量子态和所述第二补码量子态代入加法器的量子线路,执行量子加法运算,由此,将所述第一补码量子态演化为包含所述被减数数据的补码与所述减数数据的补码之和的第三目标量子态。
根据所述第五目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第五目标量子态执行求补码运算对应的量子态演化,得到演化后的第六目标量子态,作为所述被减数数据和所述减数数据的减法运算结果进行输出;其中,所述第六目标量子态为包含所述补码之和的补码的量子态;
示例性的,根据当前第五目标量子态|1111>中的符号位子量子态|1>和当前第二预设辅助比特的量子态|0>,控制第五目标量子态|1111>执行求补码运算对应的量子态演化,得到演化后的第六目标量子态|1001>,其包含的值为1001(十进制-1),即为被减数量子态|0011>包含的被减数0011(十进制3)与减数量子态|0100>包含的减数0100(十进制4)的减法结果。
需要说明的是,执行求补码运算对应的量子态演化可与前述同理,演化后,第二预设辅助比特的量子态仍被还原为|0>,以便于后续计算使用。
根据当前减数量子态中的符号位子量子态和当前第二预设辅助比特的量子态,控制当前减数量子态执行求补码运算对应的量子态演化,并对当前减数量子态中的符号位子量子态执行符号位取反对应的量子态演化,以将当前减数量子态进行还原。
示例性的,当前减数量子态为第二补码量子态|1100>,当前第二预设辅助比特的量子态为|0>。继续按前述同理的方式,控制|1100>执行求补码运算对应的量子态演化,得到演化后的|1100>,然后通过X门操作对其符号位子量子态取反,将其还原成初始的减数量子态|0100>。
本实施例中,进行加法运算后,进一步对所述被减数数据的补码与所述减数数据的补码之和的第三目标量子态执行求补码运算对应的量子态演化。如图11所示,首先,对j[0]做一个X门的目的是将j[0]的值设置为1,方便求补码中的+1运算。而对h的符号位做X门的操作的原因,则是为了将g-h转换为g+(-h)。然后,我们将g和h都做好补码的处理,处理完成后,再将g和h的补码进行相加,得到结果后,再将g和h做一次求补码的操作,将其还原为正常的数值,最后再对初始操作进行还原,也就是对辅助比特进行还原,做2个X门即可。由此组成了如图12所示的整个减法器的量子线路图,是一种功能上的简易示例。
本发明的另一实施例提供了一种量子加法运算装置,如图13所示,所述装置包括:
运算数据获取模块1301,用于获取加法指令以及待运算的两目标数据,并将所述两目标数据转换为两个目标量子态;
级联模块确定模块1302,用于根据所述目标量子态中的各量子比特的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;
量子线路生成模块1303,用于根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器对应的目标量子线路;
目标量子运算模块1304,用于通过所述目标量子线路对所述两个目标量子态的各量子比特进行加法运算,生成并输出目标量子态结果。
进一步地,所述MAJ模块为MAJ量子线路,所述UMA模块为UMA量子线路,所述MAJ量子线路和所述UMA量子线路均包括两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门,所述装置还包括级联模块预置模块:
获取所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门对应的操作量子比特、操作量子比特之间的控制关系以及所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门之间的时序关系;
根据所述操作量子比特、所述控制关系以及所述时序关系,将所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门构建生成所述MAJ量子线路或所述UMA量子线路,作为对应的MAJ模块或UMA模块。
进一步地,至少一个MAJ模块级联组成MAJ级联模块,至少一个UMA模块级联组成UMA级联模块,所述MAJ级联模块以及所述UMA级联模块均包括三个输入项以及三个输出项,所述量子线路生成模块还用于:
所述根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器对应的目标量子线路的步骤具体包括:
根据所述加法指令,将一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述加法器对应的目标量子线路。
进一步地,所述MAJ级联模块的三个输入项包括一个进位输入项以及两个待计算子量子态输入项,所述MAJ级联模块的三个输出项包括一个进位输出项和两个中间结果输出项,所述UMA级联模块的三个输入项包括对应MAJ级联模块的一个进位输出项以及两个中间结果输出项,所述UMA级联模块的三个输出项包括一个结果进位输出项、累加和输出项和一待计算子量子态输入项,所述量子线路生成模块还用于:
根据所述加法指令,将上一MAJ模块输出的进位输出项以及所述两个待计算子量子态输入项作为下一MAJ模块的三个输入项,以将所述目标模块个数的MAJ模块进行级联,生成所述MAJ级联模块;
将一MAJ模块的两个中间结果输出项作为一对应UMA模块的两个输入项,获取所述对应UMA模块的上一UMA模块,并将所述上一UMA模块的结果进位输出项作为所述对应UMA模块的一个输入项,以将所述目标模块个数的MAJ模块以及所述目标模块个数的UAM模块进行级联,生成所述UMA级联模块,其中,最后一个MAJ模块的进位输出项作为对应的第一UMA模块的一个输入项;
将所述一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述初始量子线路;
将所述初始量子线路中最后一个MAJ级联模块与对应的第一个UMA级联模块之间添加CNOT量子逻辑门,其中,将所述MAJ级联模块的进位输出项对应的量子比特作为控制比特,将预设进位辅助比特作为受控比特位,以生成所述加法器的目标量子线路。
如上所述的,其中,优选的是,所述装置包括:
运算数据获取模块,用于获取待运算的被减数数据和减数数据,并将所述被减数数据转换为第一目标量子态,将所述减数数据转换为第二目标量子态;其中,目标量子态包括:表示所述数据符号的符号位子量子态和表示所述数据数值的数值位子量子态;
第一量子态演化模块,用于获取第二预设辅助比特的量子态,根据所述第一目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第一目标量子态执行求补码运算对应的量子态演化,得到第一补码量子态;其中,所述第一补码量子态为包含所述被减数数据的补码的量子态;
第二量子态演化模块,用于将所述第二目标量子态中的符号位子量子态执行符号位取反对应的量子态演化,并根据取反后的符号位子量子态和所述第二预设辅助比特的量子态,控制当前第二目标量子态执行求补码运算对应的量子态演化,得到第二补码量子态;其中,所述第二补码量子态为包含所述减数数据的补码的量子态;
第三量子态演化模块,用于对所述第一补码量子态和所述第二补码量子态,执行加法运算对应的量子态演化,以将所述第一补码量子态演化为包含所述被减数数据的补码与所述减数数据的补码之和的第三目标量子态;
目标量子运算模块,用于根据所述第三目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第三目标量子态执行求补码运算对应的量子态演化,得到演化后的第四目标量子态,作为所述被减数数据和所述减数数据的减法运算结果进行输出;其中,所述第四目标量子态为包含所述补码之和的补码的量子态。
如上所述的,其中,优选的是,在所述目标量子运算模块之后,所述装置还包括:
还原模块,用于根据当前第二目标量子态中的符号位子量子态和当前第二预设辅助比特的量子态,控制当前第二目标量子态执行求补码运算对应的量子态演化,并对当前第二目标量子态中的符号位子量子态执行符号位取反对应的量子态演化,以将当前第二目标量子态进行还原。
如上所述的,其中,优选的是,所述第一量子态演化模块,具体用于:
对所述第一目标量子态中的符号位子量子态对应的第一符号位量子比特和所述第二预设辅助比特执行CNOT门操作,其中,所述第一符号位量子比特为控制比特,所述第二预设辅助比特为受控比特;
根据执行CNOT门操作后的所述第二预设辅助比特的量子态,控制当前第一目标量子态是否执行求补码运算对应的量子态演化;
若是,则对当前第一目标量子态的非符号位子量子态取反,并将取反后的第一目标量子态与第二预设辅助比特的量子态|1>态,执行加法运算对应的量子态演化,得到演化后的第一补码量子态,否则,将所述第一目标量子态作为第一补码量子态;
对当前第一符号位量子比特和第二预设辅助比特执行CNOT门操作,以将当前第二预设辅助比特的量子态进行还原;其中,所述第一符号位量子比特为控制比特,所述第二预设辅助比特为受控比特。
本发明的再一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行如上所述方法步骤。
本发明的再一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被设置为运行时执行如上所述方法步骤。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。

Claims (10)

1.一种量子加法运算方法,其特征在于,所述方法包括:
获取加法指令以及待运算的两目标数据,并将所述两目标数据转换为两个目标量子态;
根据所述目标量子态中的各量子比特的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;
根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成加法器对应的目标量子线路;
通过所述目标量子线路对所述两个目标量子态的各量子比特进行加法运算,生成并输出目标量子态结果。
2.根据权利要求1所述的量子加法运算方法,其特征在于,所述MAJ模块为MAJ量子线路,所述UMA模块为UMA量子线路,所述MAJ量子线路和所述UMA量子线路均包括两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门,
所述根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成加法器对应的目标量子线路的步骤之前,还包括:
获取所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门对应的操作量子比特、操作量子比特之间的控制关系以及所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门之间的时序关系;
根据所述操作量子比特、所述控制关系以及所述时序关系,将所述两个CNOT量子逻辑门和一个TOFFOLI量子逻辑门构建生成所述MAJ量子线路或所述UMA量子线路,作为对应的MAJ模块或UMA模块。
3.根据权利要求2所述的量子加法运算方法,其特征在于,至少一个MAJ模块级联组成MAJ级联模块,至少一个UMA模块级联组成UMA级联模块,所述MAJ级联模块以及所述UMA级联模块均包括三个输入项以及三个输出项,
所述根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器对应的目标量子线路的步骤具体包括:
根据所述加法指令,将一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述加法器对应的目标量子线路。
4.根据权利要求3所述的量子加法运算方法,其特征在于,所述MAJ级联模块的三个输入项包括一个进位输入项以及两个待计算子量子态输入项,所述MAJ级联模块的三个输出项包括一个进位输出项和两个中间结果输出项,所述UMA级联模块的三个输入项包括对应MAJ级联模块的一个进位输出项以及两个中间结果输出项,所述UMA级联模块的三个输出项包括一个结果进位输出项、累加和输出项和一待计算子量子态输入项,
所述根据所述加法指令,将一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述加法器对应的目标量子线路的步骤具体包括:
根据所述加法指令,将上一MAJ模块输出的进位输出项以及所述两个待计算子量子态输入项作为下一MAJ模块的三个输入项,以将所述目标模块个数的MAJ模块进行级联,生成所述MAJ级联模块;
将一MAJ模块的两个中间结果输出项作为一对应UMA模块的两个输入项,获取所述对应UMA模块的上一UMA模块,并将所述上一UMA模块的结果进位输出项作为所述对应UMA模块的一个输入项,以将所述目标模块个数的MAJ模块以及所述目标模块个数的UAM模块进行级联,生成所述UMA级联模块,其中,最后一个MAJ模块的进位输出项作为对应的第一UMA模块的一个输入项;
将所述一MAJ级联模块的三个输出项作为一对应UMA级联模块的三个输入项,以将所述MAJ级联模块与对应的UMA级联模块进行级联,生成所述初始量子线路;
将所述初始量子线路中最后一个MAJ级联模块与对应的第一个UMA级联模块之间添加CNOT量子逻辑门,其中,将所述MAJ级联模块的进位输出项对应的量子比特作为控制比特,将预设进位辅助比特作为受控比特位,以生成所述加法器的目标量子线路。
5.根据权利要求1-4任一项所述的量子加法运算方法,其特征在于,所述量子加法运算方法还包括:
获取待运算的被减数数据和减数数据,并将所述被减数数据转换为第一目标量子态,将所述减数数据转换为第二目标量子态;其中,目标量子态包括:表示所述数据符号的符号位子量子态和表示所述数据数值的数值位子量子态;
获取第二预设辅助比特的量子态,根据所述第一目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第一目标量子态执行求补码运算对应的量子态演化,得到第一补码量子态;其中,所述第一补码量子态为包含所述被减数数据的补码的量子态;
将所述第二目标量子态中的符号位子量子态执行对应的量子态演化,并根据取反后的符号位子量子态和所述第二预设辅助比特的量子态,控制当前第二目标量子态执行求补码运算对应的量子态演化,得到第二补码量子态;其中,所述第二补码量子态为包含所述减数数据的补码的量子态;
对所述第一补码量子态和所述第二补码量子态,执行量子加法运算,以将所述第一补码量子态演化为包含所述被减数数据的补码与所述减数数据的补码之和的第三目标量子态;
根据所述第三目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第三目标量子态执行求补码运算对应的量子态演化,得到演化后的第四目标量子态,作为所述被减数数据和所述减数数据的减法运算结果进行输出;其中,所述第四目标量子态为包含所述补码之和的补码的量子态。
6.根据权利要求5所述的量子加法运算方法,其特征在于,所述控制所述第三目标量子态执行求补码运算对应的量子态演化,得到演化后的第四目标量子态的步骤之后,还包括:
根据当前第二目标量子态中的符号位子量子态和当前第一预设辅助比特的量子态,控制当前第二目标量子态执行求补码运算对应的量子态演化,并对当前第二目标量子态中的符号位子量子态执行符号位取反对应的量子态演化,以将当前第二目标量子态进行还原。
7.根据权利要求6所述的量子加法运算方法,其特征在于,所述根据所述第一目标量子态中的符号位子量子态和所述第二预设辅助比特的量子态,控制所述第一目标量子态执行求补码运算对应的量子态演化的步骤具体包括:
对所述第一目标量子态中的符号位子量子态对应的第一符号位量子比特和所述第二预设辅助比特执行CNOT门操作,其中,所述第一符号位量子比特为控制比特,所述第二预设辅助比特为受控比特;
根据执行CNOT门操作后的所述第二预设辅助比特的量子态,控制当前第一目标量子态是否执行求补码运算对应的量子态演化;
若是,则对当前第一目标量子态的非符号位子量子态取反,并将取反后的第一目标量子态与第二预设辅助比特的量子态|1>态,执行量子加法运算,得到演化后的第一补码量子态,否则,将所述第一目标量子态作为第一补码量子态;
对当前第一符号位量子比特和第二预设辅助比特执行CNOT门操作,以将当前第二预设辅助比特的量子态进行还原;其中,所述第一符号位量子比特为控制比特,所述第二预设辅助比特为受控比特。
8.一种量子加法运算装置,其特征在于,所述装置包括:
运算数据获取模块,用于获取加法指令以及待运算的两目标数据,并将所述两目标数据转换为两个目标量子态;
级联模块确定模块,用于根据所述目标量子态中的各量子比特的位数,确定待级联的前级联模块MAJ模块以及待级联的后级联模块UMA模块的目标模块个数,其中,所述MAJ模块的模块个数与所述UMA模块的模块个数相同;
量子线路生成模块,用于根据所述加法指令,将所述目标模块个数的MAJ模块以及UMA模块进行级联,生成所述加法器对应的目标量子线路;
目标量子运算模块,用于通过所述目标量子线路对所述两个目标量子态的各量子比特进行加法运算,生成并输出目标量子态结果。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7任一项中所述的方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7任一项中所述的方法。
CN202011058756.3A 2020-09-30 2020-09-30 一种量子减法运算方法、装置、电子装置及存储介质 Active CN112162723B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011058756.3A CN112162723B (zh) 2020-09-30 2020-09-30 一种量子减法运算方法、装置、电子装置及存储介质
EP21874279.9A EP4224308A1 (en) 2020-09-30 2021-09-17 Quantum division operation method and apparatus with precision
US18/029,558 US12086569B2 (en) 2020-09-30 2021-09-17 Method and device for quantum division operation with precision
PCT/CN2021/119125 WO2022068618A1 (zh) 2020-09-30 2021-09-17 一种带精度的量子除法运算方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011058756.3A CN112162723B (zh) 2020-09-30 2020-09-30 一种量子减法运算方法、装置、电子装置及存储介质

Publications (2)

Publication Number Publication Date
CN112162723A true CN112162723A (zh) 2021-01-01
CN112162723B CN112162723B (zh) 2023-12-15

Family

ID=73862432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011058756.3A Active CN112162723B (zh) 2020-09-30 2020-09-30 一种量子减法运算方法、装置、电子装置及存储介质

Country Status (1)

Country Link
CN (1) CN112162723B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214200A (zh) * 2020-09-30 2021-01-12 合肥本源量子计算科技有限责任公司 一种量子减法运算方法、装置、电子装置及存储介质
CN113592094A (zh) * 2021-08-04 2021-11-02 腾讯科技(深圳)有限公司 量子态制备电路生成方法、超导量子芯片
CN115713122A (zh) * 2021-08-20 2023-02-24 合肥本源量子计算科技有限责任公司 一种量子数据与经典数据的大小关系的确定方法及装置
CN115809042A (zh) * 2021-09-14 2023-03-17 合肥本源量子计算科技有限责任公司 量子模数加法运算方法、装置、电子装置及模数算术组件
CN115879558A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 一种多个量子态之间的大小比较方法及装置
CN115879553A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 量子模数完整乘法运算方法、装置及模数算术组件
CN115879557A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 基于量子线路的数据大小比较方法、装置及量子计算机
CN115879560A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 一种量子数据与经典数据的等值关系判断方法及装置
CN115879559A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 多个量子态之间的等值关系判断方法、装置及量子计算机
CN116049506A (zh) * 2021-10-28 2023-05-02 合肥本源量子计算科技有限责任公司 基于量子计算的数值查找方法、装置、设备及存储介质
WO2024109730A1 (zh) * 2022-11-21 2024-05-30 本源量子计算科技(合肥)股份有限公司 变量模乘运算器、运算方法及相关装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333120A (en) * 1992-11-17 1994-07-26 Gilber T Joseph R Binary two's complement arithmetic circuit
CN106528045A (zh) * 2016-11-11 2017-03-22 重庆邮电大学 一种基于可逆逻辑门的4位可逆加/减法器
CN108154240A (zh) * 2017-12-29 2018-06-12 合肥本源量子计算科技有限责任公司 一种低复杂度的量子线路模拟系统
US20190156242A1 (en) * 2017-11-21 2019-05-23 Microsoft Technology Licensing, Llc Quantum circuit libraries for floating-point arithmetic
CN110188885A (zh) * 2019-06-28 2019-08-30 合肥本源量子计算科技有限责任公司 一种量子计算模拟方法、装置、存储介质和电子装置
CN111582491A (zh) * 2020-04-30 2020-08-25 合肥本源量子计算科技有限责任公司 一种量子线路的构建方法及装置
CN111610959A (zh) * 2020-05-21 2020-09-01 陆丽娜 二维数、多维数及数据处理方法
CN112214200A (zh) * 2020-09-30 2021-01-12 合肥本源量子计算科技有限责任公司 一种量子减法运算方法、装置、电子装置及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5333120A (en) * 1992-11-17 1994-07-26 Gilber T Joseph R Binary two's complement arithmetic circuit
CN106528045A (zh) * 2016-11-11 2017-03-22 重庆邮电大学 一种基于可逆逻辑门的4位可逆加/减法器
US20190156242A1 (en) * 2017-11-21 2019-05-23 Microsoft Technology Licensing, Llc Quantum circuit libraries for floating-point arithmetic
CN108154240A (zh) * 2017-12-29 2018-06-12 合肥本源量子计算科技有限责任公司 一种低复杂度的量子线路模拟系统
CN110188885A (zh) * 2019-06-28 2019-08-30 合肥本源量子计算科技有限责任公司 一种量子计算模拟方法、装置、存储介质和电子装置
CN111582491A (zh) * 2020-04-30 2020-08-25 合肥本源量子计算科技有限责任公司 一种量子线路的构建方法及装置
CN111610959A (zh) * 2020-05-21 2020-09-01 陆丽娜 二维数、多维数及数据处理方法
CN112214200A (zh) * 2020-09-30 2021-01-12 合肥本源量子计算科技有限责任公司 一种量子减法运算方法、装置、电子装置及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
EDWARD FARHI 等: "A Quantum Approximate Optimization Algorithm", 《ARXIV:1411.4028V1》, pages 1 - 16 *
STEVEN A. CUCCARO 等: "A new quantum ripple-carry addition circuit", 《ARXIV:QUANT-PH/0410184V1》, pages 1 - 9 *
张俊: "量子线路研究快速费马数变换的量子线路逻辑实现", 《CNKI学位》, vol. 2016, no. 08 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214200B (zh) * 2020-09-30 2023-12-15 本源量子计算科技(合肥)股份有限公司 一种量子减法运算方法、装置、电子装置及存储介质
CN112214200A (zh) * 2020-09-30 2021-01-12 合肥本源量子计算科技有限责任公司 一种量子减法运算方法、装置、电子装置及存储介质
CN113592094A (zh) * 2021-08-04 2021-11-02 腾讯科技(深圳)有限公司 量子态制备电路生成方法、超导量子芯片
CN113592094B (zh) * 2021-08-04 2022-06-07 腾讯科技(深圳)有限公司 量子态制备电路生成方法、超导量子芯片
CN115713122A (zh) * 2021-08-20 2023-02-24 合肥本源量子计算科技有限责任公司 一种量子数据与经典数据的大小关系的确定方法及装置
CN115809042A (zh) * 2021-09-14 2023-03-17 合肥本源量子计算科技有限责任公司 量子模数加法运算方法、装置、电子装置及模数算术组件
CN115809042B (zh) * 2021-09-14 2024-06-14 本源量子计算科技(合肥)股份有限公司 量子模数加法运算方法、装置、电子装置及模数算术组件
CN115879553A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 量子模数完整乘法运算方法、装置及模数算术组件
CN115879560A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 一种量子数据与经典数据的等值关系判断方法及装置
CN115879559A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 多个量子态之间的等值关系判断方法、装置及量子计算机
CN115879557A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 基于量子线路的数据大小比较方法、装置及量子计算机
CN115879558A (zh) * 2021-09-28 2023-03-31 合肥本源量子计算科技有限责任公司 一种多个量子态之间的大小比较方法及装置
CN116049506A (zh) * 2021-10-28 2023-05-02 合肥本源量子计算科技有限责任公司 基于量子计算的数值查找方法、装置、设备及存储介质
WO2024109730A1 (zh) * 2022-11-21 2024-05-30 本源量子计算科技(合肥)股份有限公司 变量模乘运算器、运算方法及相关装置

Also Published As

Publication number Publication date
CN112162723B (zh) 2023-12-15

Similar Documents

Publication Publication Date Title
CN112162723B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
CN112114776B (zh) 一种量子乘法运算方法、装置、电子装置及存储介质
CN113222155B (zh) 一种量子线路的构建方法、装置、电子装置和存储介质
CN112214200B (zh) 一种量子减法运算方法、装置、电子装置及存储介质
CN112162724B (zh) 一种带精度的量子除法运算方法及装置
CN113222156B (zh) 一种待执行操作的量子模拟方法、装置
CN115809707B (zh) 量子比较运算方法、装置、电子装置及基础算术组件
CN113222157A (zh) 一种量子模拟方法、装置、电子装置及存储介质
CN112162725B (zh) 一种量子除法运算方法、装置、电子装置及存储介质
CN114881238A (zh) 量子鉴别器的构造方法、装置、介质及电子装置
CN114881239A (zh) 量子生成器的构造方法、装置、介质及电子装置
CN115936127B (zh) 一种基于量子技术的数值比较方法、装置及量子计算机
CN115809042B (zh) 量子模数加法运算方法、装置、电子装置及模数算术组件
CN115809706B (zh) 量子模数倍增运算方法、装置、电子装置及模数算术组件
CN116048458B (zh) 基于量子计算的数值划分方法、装置、设备及存储介质
CN115879554B (zh) 量子模数平方运算方法、装置、电子装置及模数算术组件
CN116049506B (zh) 基于量子计算的数值查找方法、装置、设备及存储介质
WO2024109730A1 (zh) 变量模乘运算器、运算方法及相关装置
CN115879555B (zh) 量子模数快速乘法运算方法、装置及模数算术组件
CN115879552B (zh) 量子模数乘逆运算方法、装置、电子装置及模数算术组件
US12086569B2 (en) Method and device for quantum division operation with precision
CN115879553B (zh) 量子模数完整乘法运算方法、装置及模数算术组件
CN115879556A (zh) 量子模数运算方法、装置、介质及模数算术组件
CN118095458A (zh) 变量模乘运算器、运算方法及相关装置
CN114819171A (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
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

GR01 Patent grant
GR01 Patent grant