发明内容
本发明的目的是提供一种自定义量子逻辑门的实现方法、装置,以解决现有技术中的不足,它能够拓展量子计算模拟的应用、降低量子计算模拟的复杂程度,且提高了实现量子态演化的操作的灵活性。
本申请的一个实施例提供了自定义量子逻辑门的实现方法,包括:获得种类标识,所述种类标识用于标识对操作对象的目标操作;获得所述种类标识的解析,所述解析用于对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。
该实施例通过获得种类标识和获得所述种类标识的解析两步确定了了一个自定义量子逻辑门。该自定义量子逻辑门的解析过程通过“对一组量子比特位的量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的量子态信息表示”来实现,在该过程中,通过对量子态信息对应数值进行处理,而不是局限在量子态本身,克服了量子态演化操作只能通过量子逻辑门实现的局限,提高了实现量子态演化操作的灵活性,拓展量子计算模拟的应用、降低量子计算模拟的复杂程度。且本申请实施例提供的自定义量子逻辑门,所能作用的量子比特位数量不受限,可以根据编码操作对象的量子比特位数设置。
本申请的又一个实施例提供了一种自定义量子逻辑门的实现装置,包括:第一获得模块和第二获得模块。
第一获得模块用于获得种类标识,所述种类标识用于标识对操作对象的目标操作;
第二获得模块用于获得所述种类标识的解析,所述解析用于对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。
其中:所述第二获得模块,具体包括:
量子态信息获得模块,用于获得一组量子比特位及其表示的第一量子态信息;所述一组量子比特位中包括分别用于编码所述操作对象和所述处理结果的第一量子比特位和第二量子比特位;
量子态信息处理模块,用于针对所述量子态信息中的各本征态,均获得所述本征态中分别表示所述第一量子比特位的子量子态;对所述子量子态对应的数值执行所述所述目标操作对应的处理,获得处理结果;将所述处理结果编码至所述第二量子比特位上以更新各所述本征态,实现所述处理结果的所述一组量子比特位的第二量子态信息表示。该实施例提供的自定义量子逻辑门的实现装置能够实现自定义量子逻辑门,该自定义量子逻辑门的解析过程通过“对一组量子比特位的量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的量子态信息表示”来实现,在该过程中,通过对量子态信息对应数值进行处理,而不是局限在量子态本身,克服了量子态演化操作通过量子逻辑门实现的局限,提高了实现量子态演化操作的灵活性,拓展量子计算模拟的应用、降低量子计算模拟的复杂程度。且本申请实施例提供的自定义量子逻辑门,所能作用的量子比特位数量不受限,可以根据编码操作对象的量子比特位数设置。
本申请的又一个实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述的自定义量子逻辑门的实现所述的方法。
本申请的又一个实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述的自定义量子逻辑门的实现方法。
本申请的又一个实施例提供了一种如上述的自定义量子逻辑门的实现方法实现的自定义量子逻辑门,包括:种类标识模块和解析模块。
其中,种类标识模块,所述种类标识模块用于标识对操作对象的目标操作;
解析模块,所述解析模块用于对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。
本申请的又一个实施例提供了一种Oracle组件,所述Oracle组件包括:操作功能标识模块,用于确定待执行操作的功能标识,所述操作功能标识模块可插设在量子线路中;所述操作功能标识模块与预设的操作功能实现模块双向数据通讯;其中:所述操作功能实现模块用于通过执行预设操作实现方法对一量子态信息对应数值进行所述待执行操作处理并将操作处理结果进行量子编码得到另一量子态信息;所述操作功能标识模块插设在量子线路时,演化至所述操作功能标识模块的第一量子态信息为所述操作功能实现模块待操作处理的量子态信息。
该实施例通过可插设在量子线路中的确定待执行操作的功能标识的操作功能标识模块确定实现量子态演化操作的功能标识,通过可与该操作功能标识模块双向数据通讯的预设的操作功能实现模块实现对该功能标识的解析,即操作功能实现模块是通过执行预设操作实现方法对一量子态信息对应数值进行所述待执行操作处理并将操作处理结果进行量子编码得到另一量子态信息,以达到量子态演化处理的模拟实现。
在量子态演化处理的模拟实现中,通过对量子态信息对应数值进行处理,而不是局限在量子态本身,克服了量子态演化操作通过量子逻辑门实现的局限,通过预设操作实现方法实现一量子态信息到另一量子态信息的演化操作处理,提高了实现量子态演化操作的灵活性,拓展量子计算模拟的应用、降低量子计算模拟的复杂程度。且本申请实施例提供的操作功能标识模块作为量子逻辑门插设在量子线路中时,所能作用的量子比特位数量不受限,可以根据预设操作实现方法设置。
本申请的又一个实施例提供了一种量子线路,所述量子线路包含如上所述的自定义量子逻辑门、或如上所述的Oracle组件。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明的实施例提供了一种自定义量子逻辑门的实现方法,用于实现自定义量子逻辑门,其中,自定义量子逻辑门具有量子逻辑门的性质,能够实现量子比特位携带的量子态的演化操作,并得到演化操作后的另一量子态,该方法可以应用于电子设备,如移动终端,具体如手机、平板电脑;如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图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门。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。
在量子算法的模拟实现过程中,通常需要借助量子逻辑门构建量子算法,但是,目前常用的量子逻辑门的种类有限,例如单量子逻辑门、双量子逻辑门和三量子逻辑门,对于四量子逻辑门及以上n量子逻辑门等更加复杂的量子逻辑门或者一些运算功能的实现时均需要借助单量子逻辑门和/或双量子逻辑门去搭建量子线路,其中,需要说明的是“n量子逻辑门”中的n是指该量子逻辑门可以同一时刻操作的量子比特位数。
当借助单量子逻辑门和/或双量子逻辑门去搭建得到实现更加复杂的量子逻辑门或者一些运算功能时,可以理解的是,采用的单量子逻辑门和/或双量子逻辑门的数量越多,则搭建的真个量子线路的难度会随之增加,同时运算耗时随之增长,进而降低了整个量子算法对应的量子线路的可操作性、可读性和可扩展性等。
同时,现有的量子逻辑门直接对量子态演化操作,即通过量子逻辑门的矩阵和量子态对应的矩阵乘法实现量子态的演化操作,该过程中,一方面量子逻辑门的种类和功能非常有限,限制了量子计算模拟的应用、增加了量子计算模拟的复杂程度;另一方面,量子逻辑门对应的酉矩阵受限于矩阵乘法运算中量子态对应的矩阵,即量子逻辑门对应的酉矩阵的阶数等于所作用的量子比特的本征态总数量,因而限制了可采用的量子逻辑门的灵活性,也可以理解为限制了待执行的类似量子逻辑门的、实现量子态演化的操作的灵活性。
因此,如图2所示,本发明的一实施例提供了一种自定义量子逻辑门的实现方法,包括:
S100,获得种类标识,所述种类标识用于标识对操作对象的目标操作。
可以理解的是,如上描述的H门、Pauli-X门、Pauli-Y门、Pauli-Z门、RX门、RY门、RZ门、CNOT门、CR门、iSWAP门、Toffoli门即量子逻辑门标识、如上所述的H门、Pauli-X门、Pauli-Y门、Pauli-Z门、RX门、RY门、RZ门、CNOT门、CR门、iSWAP门、Toffoli是量子计算研究领域技术人员普遍认可和采用的量子逻辑门,这些量子逻辑门,对应一个矩阵,矩阵的阶数等于该量子逻辑门能作用的量子比特位的所有本征态数量;矩阵的元素值由该量子逻辑门所起的作用决定。
量子计算研究领域技术人员普遍认可和采用的量子逻辑门的种类和数量非常有限,例如:并没有可以直接实现加、减、乘和除的四则运算操作的量子逻辑门。例如,并没有实现一些自定义操作功能或复杂操作功能的量子逻辑门。
本申请的实施例提供一种自定义量子逻辑门的实现方法,需要首先获得自定义量子逻辑门的种类标识,该种类标识用于标识对操作对象的目标操作,该目标操作通过用户输入得到,可以为经典运算操作。例如种类标识Oadd,标识目标操作为加法操作,该加法操作遵守四则加法运算,具有位于加号两侧的两个操作对象。也可以为用户自己定义操作,例如:稀疏矩阵的非零元素的不同位置表示之间的变换操作Otrans。其中,不同位置表示可以为以非零元素的行下标和列下标实现的第一种表示,和以非零元素的行下标以及该非零元素在所在行中的非0元素中的序号的第二表示。再例如:基本初等函数运算。
S200,获得所述种类标识的解析,所述解析用于对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。
可以理解的是,在用户输入种类标识时,同时需要用户输入实现种类标识的代码,即目标操作对应的处理对应的代码。
获得所述种类标识的解析,所述解析用于对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。通过该过程建立了目标操作对应的处理对应的代码与量子态处理之间的关联。即针对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。
所获得的解析过程,通过对第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示,一方面实现了量子态的演化操作处理,匹配了量子逻辑门的功能,另一方面,通过对第一量子态信息中、对应所述操作对象的子量子态信息的数值进行处理,而不是对第一量子态信息中、对应所述操作对象的子量子态信息直接处理,降低了直接对量子态处理时对量子逻辑门的限制,提高了量子逻辑门的灵活性,进而有利于拓展量子计算模拟的应用、降低量子计算模拟的复杂程度。
具体的,获得所述种类标识的解析的实现过程如下:
S201,获得一组量子比特位及其表示的量子态信息;所述一组量子比特位中包括分别用于编码所述操作对象和所述处理结果的第一量子比特位和第二量子比特位。
需要说明的是,量子比特位类比于经典计算中的比特,是指量子计算中的基本单元。相应的,量子比特位类比于经典比特位,每一位对应一个量子比特位,且该位上的值为1或0,表示该量子比特位处于1态或0态或者其叠加态,记为|1>或|0>或ψ=a|0>+b|1>,其中:|1>或|0>的物理意义表示为二能级量子***中的基态或激发态,|>为狄拉克符号。a和b为表示量子态振幅(概率幅)的复数。测量后,量子态塌缩至一个固定的量子态,其中,塌缩至|0>的概率是|a|2,塌缩至|1>的概率是|b|2,且|a|2+|b|2=1。
量子比特位表示的量子态信息,是指量子比特位对应的所有本征态表征组成的量子态信息,所有本征态的数量为2n,其中,n为量子比特位的个数。
量子态,则是指量子比特位的逻辑状态,在量子算法(或称量子程序)中用二进制表示。例如,一组量子比特位为q0、q1、q2,表示第0位、第1位、第2位量子比特位,从高位到低位排序为q2q1q0,该组量子比特位的量子态为23个本征态的叠加态,其中8个本征态(确定的状态)是指:|000>、|001>、|010>、|011>、|100>、|101>、|110>、|111>,每个量子态与量子比特位对应一致,如|000>态,000从高位到低位对应q2q1q0。
以单个量子比特位说明,单个量子比特位的逻辑状态
可能处于|0>态、|1>态、|0>态和|1>态的叠加态(不确定状态),具体可以表示为ψ=a|0>+b|1>,其中,a和b为表示量子态振幅(概率幅)的复数。测量后,量子态塌缩至一个固定的量子态,其中,塌缩至|0>的概率是|a|
2,塌缩至|1>的概率是|b|
2,且|a|
2+|b|
2=1,简言之,量子态是各本征态组成的叠加态,当其他态的概率为0时,即处于其中一个确定的本征态。
获得一组量子比特位的第一量子态,示例性的,例如:一组量子比特位为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。
获得一组量子比特位可以通过用户输入实现,该组量子比特位的个数可以根据种类标识标识的目标操作设置。具体的,量子比特位用于编码目标操作设置的操作对象和/或操作结果。示例性的,所述一组量子比特位中包括分别用于编码所述操作对象和所述处理结果的第一量子比特位和第二量子比特位。
S202,针对所述第一量子态信息中的各本征态,均获得所述本征态中分别表示所述第一量子比特位的子量子态,对所述子量子态对应的数值执行所述所述目标操作对应的处理,获得处理结果,将所述处理结果编码至所述第二量子比特位上以更新各所述本征态,实现所述处理结果的所述一组量子比特位的第二量子态信息表示。
示例性的,获得的一组量子比特位为q5、q4、q3、q2、q1、q0,其中,用于编码所述操作对象的第一量子比特位为q5、q4,则对于一组量子比特位为q5、q4、q3、q2、q1、q0的本征态|10000>,对应的子量子态为|10>,该子量子态对应的数值可以按目标操作的运算需要表示为10(二进制表示),或者2(十进制表示),然后对该数值执行目标操作对应的处理,获得处理结果。
其中,可以理解的是,目标操作的运算需要根据目标操作的运算本质决定,例如对加法运算、减法运算,可以直接采用二进制数值进行运算,而对于指数函数运算、对数函数运算、三角函数运算、反三角函数运算和幂函数运算等函数运算,优选待操作对象用十进制表示。
另外,将所述处理结果编码至所述第二量子比特位上以更新各所述本征态,实现所述处理结果的所述一组量子比特位的第二量子态信息表示。在具体操作的时候,可以根据所述第二量子比特位的位数获得所述处理结果对应的二进制值;将所述二进制值编码至所述第二量子比特位上,以更新各所述本征态,同时更新后的各本征态组成的一组量子比特位的量子态为第二量子态信息,进而实现所述处理结果的所述一组量子比特位的第二量子态信息表示。
示例性的,处理结果可以为十进制数值,该十进制数值为包括十进制整数和/或十进制小数,可以将十进制数值用二进制表示,二进制表示的位数与第二量子比特位的位数相同。
在实际应用中,所述一组量子比特位还可以包括:第三量子比特位,用于受控操作,具体是指:根据所述第三量子比特位,判断是否执行所述解析。第三量子比特位作为受控标识位,无其他物理意义,对位数不做限定,为了减少计算资源的占用,优选一位即可。
具体的,所述根据所述第三量子比特位,判断是否执行所述解析,具体包括:针对所述量子态信息中的各本征态,均获得所述本征态中对应所述第三量子比特位的第一子量子态;当所述第一子量子态所有位均为预设值时,执行所述解析,否则不执行。当然,该预设值可以为1或0,只是所有位设置为1更为通用。
示例性的,输入一组量子比特分别为q0、q1、q2、q3、q4,表示第0位至第4位量子比特,从高位到低位排序为q4q3q2q1q0,指定q2q1q0为第一比特位,q4q3为第三量子比特位。其中,该组量子比特对应的25=32个本征态中,对q4q3的子量子态|11>相关的本征态|11000>、|11001>、|11010>、|11011>、|11100>、|11101>、|11110>、|11111>执行所述解析,否则不执行所述解析。
考虑到量子逻辑门支持的操作为酉变换操作,酉变换操作是一种可逆操作,所以所述方法还包括:获得所述种类标识的转置共轭解析,所述转置共轭解析用于对一组量子比特位的第二量子态信息中、对应所述处理结果的子量子态信息的数值进行所述目标操作的逆操作对应的处理,得到所述一组量子比特位的第一量子态信息表示。
酉变换操作的可逆操作特性通过转置共轭标识体现,即当种类标识携带有转置共轭标识的时候,需要将第二量子态还原为所述第一量子态。其中转置共轭标识可以用转置共轭标识符
(读作Dagger)标识。
转置共轭标识的实现可以通过所述目标操作的逆操作对应的处理实现,目标操作的逆操作,可以根据目标操作的性质确定,例如:加法操作的逆操作为减法操作;也可以根据用户定义确定,例如为用户自定义,OA:|a>|0〉→|a〉|A(a)>,其中,A表示指数函数运算、对数函数运算、三角函数运算、反三角函数运算和幂函数运算等函数运算等任一运算,|a〉表示编码操作对象的量子比特位的子量子态,|0〉表示编码操作结果的量子比特位的初始子量子态,第一量子态信息为|a〉|0〉,第二量子态信息为|a〉|A(a)〉;将第二量子态|a〉|A(a)〉还原为所述第一量子态|a〉|0〉对应的逆操作是指将编码操作结果的量子比特位的量子态|A(a)〉恢复为初始量子态|0〉。
该实施例通过获得种类标识和获得所述种类标识的解析两步确定了一个自定义量子逻辑门。该自定义量子逻辑门的解析过程通过“对一组量子比特位的量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的量子态信息表示”来实现,在该过程中,通过对量子态信息对应数值进行处理,而不是局限在量子态本身,克服了量子态演化操作通过量子逻辑门实现的局限,提高了实现量子态演化操作的灵活性,拓展量子计算模拟的应用、降低量子计算模拟的复杂程度。且本申请实施例提供的自定义量子逻辑门,所能作用的量子比特位数量不受限,可以根据编码操作对象的量子比特位数设置。
如图3所示,本申请的又一个实施例提供了一种自定义量子逻辑门的实现装置,包括:第一获得模块100和第二获得模块200。
第一获得模块100用于获得种类标识,所述种类标识用于标识对操作对象的目标操作;
第二获得模块200用于获得所述种类标识的解析,所述解析用于对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。
具体的,所述第二获得模块200,具体包括:
量子态信息获得模块201,用于获得一组量子比特位及其表示的量子态信息;所述一组量子比特位中包括分别用于编码所述操作对象和所述处理结果的第一量子比特位和第二量子比特位;
量子态信息处理模块202,用于针对所述量子态信息中的各本征态,均获得所述本征态中分别表示所述第一量子比特位的子量子态;对所述子量子态对应的数值执行所述目标操作对应的处理,获得处理结果;将所述处理结果编码至所述第二量子比特位上以更新各所述本征态。
本申请的再一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行以下所述的方法:
S301,获得种类标识,所述种类标识用于标识对操作对象的目标操作;
S302,获得所述种类标识的解析,所述解析用于对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。
本申请的再一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以执行以下所述的方法:
S401,获得种类标识,所述种类标识用于标识对操作对象的目标操作;
S402,获得所述种类标识的解析,所述解析用于对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。
如图4所示,本申请的再一实施例提供了自定义量子逻辑门,该自定义量子逻辑门300包括:
种类标识模块301,所述种类标识模块用于标识对操作对象的目标操作;
解析模块302,所述解析模块用于对一组量子比特位的第一量子态信息中、对应所述操作对象的子量子态信息的数值进行所述目标操作对应的处理,并将处理结果进行所述一组量子比特位的第二量子态信息表示。
如图5所示,本申请的再一实施例提供了一种Oracle组件,包括操作功能标识模块401和预设的操作功能实现模块402。
操作功能标识模块401,用于确定待执行操作的功能标识,所述操作功能标识模块401可插设在量子线路中;所述操作功能标识模块401与预设的操作功能实现模块402双向数据通讯;其中:所述操作功能实现模块402用于通过执行预设操作实现方法对一量子态信息对应数值进行所述待执行操作处理并将对应的数值处理结果进行量子态表示得到另一量子态信息;所述操作功能标识模块401插设在量子线路时,演化至所述操作功能标识模块401处100的第一量子态信息为所述操作功能实现模块402待操作处理的量子态信息。
继续参阅图5所示,如上所述的Oracle组件,所述操作功能实现模块402包括:
方法设置及运行单元4021,用于获得并运行所述预设操作实现方法的方法代码,所述方法代码中包括表示操作对象的待赋值参数;
方法接口单元4022,用于从第一量子态信息中获得所述待赋值参数的数值信息,并获得所述方法代码的、执行所述数值信息后的第二量子态信息。
如上所述的Oracle组件,所述方法设置及运行模块为:可编程接口。
如上所述的Oracle组件,所述从第一量子态信息中获得所述待赋值参数的数值信息包括:
获得所述第一量子态信息对应的一组量子比特位;
确定所述一组量子比特位中用于编码所述操作对象的第一量子比特位;
获得所述第一量子比特位对应的第一子量子态信息对应的数值信息。
如上所述的Oracle组件,所述操作功能标识模块还用于确定所述待执行操作的转置共轭状态;
所述预设操作实现方法还用于实现所述待执行操作的转置共轭操作。
如上所述的Oracle组件,所述第一量子态信息还包括控制所述预设操作实现方法执行与否的第一子量子态信息。
所述预设操作实现方法还用于根据所述第一子量子态信息判断所述预设操作实现方法执行与否的步骤。
如上所述的Oracle组件,所述根据所述第一子量子态信息判断所述预设操作实现方法执行与否的步骤,具体包括:
判断所述第一子量子态信息是否均为预设值;
如果均为预设值,则执行所述预设操作实现方法;
如果不均为预设值,则不执行所述预设操作实现方法。
本申请的又一实施例提供了一种量子线路,所述量子线路包含上述的自定义量子逻辑门、或上述的Oracle组件。
示例性的,该量子线路包含了自定义的Oadd量子逻辑门,该Oadd量子逻辑门作用在q0、q1、q2、q3、q4四个量子比特上,其中,q0q1编码Oadd的一个操作对象,q2q3编码Oadd的另一个操作对象,同时表明该Oadd量子逻辑门的操作结果。
在量子应用中,可以通过构造一种自定义量子逻辑门或Oracle,该自定义量子逻辑门或Oracle的内部原理即为本发明的方法流程。具体的,Oracle,可以理解成在量子算法中完成特定功能的自定义量子逻辑门(类似黑盒),在具体问题中会有具体的实现方式。
目前,现有的量子线路构建往往只能够利用现有的单量子逻辑门、双量子逻辑门等等,通常存在以下问题:
对于功能比较复杂的量子线路,需要用到的量子比特数量会非常多,使用经典计算机进行模拟的时候会消耗巨大的内存空间,需要用到的逻辑门数量会非常多,模拟耗时会非常长。并且,一些复杂的算法难以用量子线路进行实现。
基于此,通过改用Oracle模拟的方式或者自定义量子逻辑门实现目标操作对应的量子态之间相互演化的复杂功能,并实现受控功能。用户传入自定义量子逻辑门或Oracle的参数,可以包括:自定义量子逻辑门或Oracle名称(用于识别自定义量子逻辑门或Oracle的功能用途)、前述的一组量子比特位、预设运算的操作对象等等。可以使用A
y表示将第一量子态演化后的第二量子态的操作,设置标识符
即
表示将演化后的第二量子态还原为第一量子态,其中,A
y为自定义量子逻辑门或Oracle中模拟的目标操作的表示。
这种方式的好处是,整体上将自定义量子逻辑门或Oracle作为已知模块,无需关注其内部的实现细节,在量子应用场景例如量子线路的表示上,会非常的简单明了。由于可以将经典模拟的Oracle功能模块等效成量子逻辑门,来构造复杂的量子线路,因此节省了运行时所需的内存空间,并加快量子算法的模拟验证。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。