发明内容
本发明的目的是提供一种量子线路的振幅估计方法、装置、存储介质及电子装置,以解决目前振幅估计方法容易产生振幅值无法收敛的技术问题。
本申请的一个实施例提供了一种量子线路的振幅估计方法,所述量子线路的振幅估计方法包括:
在目标量子线路中确定目标量子比特的目标量子态,计算所述目标量子态的待估计振幅对应的当前幅角上界值以及当前幅角下界值的第一差值,作为目标差值;
在所述目标差值大于预设精度阈值时,根据预设中间变量参数、所述当前幅角上界值以及所述当前幅角下界值,确定下一迭代步骤对应的下一幅角放大因子以及下一标记参数;
控制预设放大量子线路以所述下一幅角放大因子对所述目标量子线路进行放大,并根据预设观测总次数,对放大后目标量子线路中所述目标量子比特的目标量子态进行测量;
根据所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数以及所述目标量子态的测量结果,计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值,作为目标差值,直至所述目标差值不大于所述精度阈值;
根据达到所述精度阈值的幅角上界值及下界值,确定所述待估计量子比特对应的概率估计值。
可选地,所述控制预设放大量子线路以所述下一幅角放大因子对所述目标量子线路进行放大,并根据预设观测总次数,对放大后目标量子线路中所述目标量子比特的目标量子态进行测量的步骤之后,还包括:
根据预设最大迭代次数、预设初始缩放因子以及所述当前迭代步骤对应的迭代误差,确定所述下一迭代步骤中观测所述目标量子态的观测次数,作为所述观测总次数;
统计所述目标量子态为设定态的目标次数,根据所述目标次数以及所述观测总次数,计算所述目标量子态为设定态的目标频率参数,作为所述测量结果。
可选地,所述统计所述目标量子态为设定态的目标次数,根据所述目标次数以及所述观测总次数,计算所述目标量子态为设定态的目标频率参数的步骤之后,还包括:
根据预设置信区间估计函数、所述最大迭代次数以及所述观测总次数,计算所述目标频率参数对应的频率置信区间长度;
根据所述频率置信区间长度,估算所述目标频率参数对应的频率置信区间。
可选地,所述根据所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数以及所述目标量子态的测量结果,并计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值的步骤包括:
根据三角变换公式、所述下一标记参数以及所述频率置信区间,计算当前幅角对应的幅角置信区间;
根据所述幅角置信区间对应的上界值、当前幅角上界值以及下一幅角放大因子,确定所述下一幅角上界值;
根据所述幅角置信区间对应的下界值、当前幅角下界值以及下一幅角放大因子,确定所述下一幅角下界值;
计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值。
可选地,所述根据达到所述精度阈值的幅角上界值及下界值,确定所述待估计量子比特对应的概率估计值的步骤包括:
根据达到所述精度阈值的幅角上界值及下界值,计算所述频率置信区间对应的上界值以及下界值,并根据所述频率置信区间对应的上界值以及下界值的平均值,确定所述待估计振幅对应的振幅估计值。
可选地,所述预设置信区间估计函数包括Chernoff-Hoeffding函数或Clopper-Pearson函数。
可选地,所述在所述目标差值大于预设精度阈值时,根据预设中间变量参数、所述当前幅角上界值以及所述当前幅角下界值,确定下一迭代步骤对应的下一幅角放大因子以及下一标记参数的步骤包括:
在所述目标差值大于所述精度阈值时,获取当前迭代步骤中的变量参数,并将所述当前迭代步骤中的变量参数缩小预设值,作为所述下一迭代步骤对应的中间变量参数;
根据所述当前幅角上界值以及所述中间变量参数,确定所述下一幅角最大值;
根据所述当前幅角下界值以及所述中间变量参数,确定所述下一幅角最小值;
根据所述下一幅角最大值与所述所述下一幅角最小值,确定所述下一迭代步骤对应的下一幅角放大因子以及下一标记参数。
本申请的又一实施例提供了一种量子线路的振幅估计装置,所述量子线路的振幅估计装置包括:
第一差值计算模块,用于在目标量子线路中确定目标量子比特的目标量子态,计算所述目标量子态的待估计振幅对应的当前幅角上界值以及当前幅角下界值的第一差值,作为目标差值;
幅角因子计算模块,用于在所述目标差值大于预设精度阈值时,根据预设中间变量参数、所述当前幅角上界值以及所述当前幅角下界值,确定下一迭代步骤对应的下一幅角放大因子以及下一标记参数;
量子态测量模块,用于控制预设放大量子线路以所述下一幅角放大因子对所述目标量子线路进行放大,并根据预设观测总次数,对放大后目标量子线路中所述目标量子比特的目标量子态进行测量;
第二差值计算模块,用于根据所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数以及所述目标量子态的测量结果,计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值,作为目标差值,直至所述目标差值不大于所述精度阈值;
目标振幅估计模块,用于根据达到所述精度阈值的幅角上界值及下界值,确定所述待估计量子比特对应的概率估计值。
本申请的又一实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中所述的方法。
本申请的又一实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中所述的方法。
与现有技术相比,本发明提供的一种量子线路的振幅估计方法,本发明在当前迭代步骤中的当前幅角上界值与下界值的差值大于精度阈值时,根据当前迭代步骤中的中间变量参数、当前幅角上界值以及下界值,确定下一迭代步骤所需的下一幅角放大因子以及下一标记参数。并控制放大量子线路以所述下一幅角放大因子为放大参数,对所述目标量子线路进行放大,以便测量所述目标量子线路中的目标量子比特的目标量子态。然后根据所述目标量子态的测量结果,结合所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数等参数,计算下一迭代步骤中的下一幅角上界值以及下界值,并在所述下一幅角上界值以及下界值的差值小于精度阈值时,停止迭代,并根据所述目标量子态的测量结果,完成所述待估计振幅的振幅估计。由此,通过确定各个迭代步骤中的放大量子线路的放大参数,以不断迭代使得幅角上界值以及下界值的差值在精度阈值内,避免产生振幅值无法收敛的问题,提高振幅估计值的精确性。
具体实施方式
下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明实施例首先提供了一种量子线路的振幅估计方法,该方法可以应用于电子设备,如计算机终端,具体如普通电脑、量子计算机等。
下面以运行在计算机终端上为例对其进行详细说明。图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门等等。量子逻辑门一般使用酉矩阵表示,而酉矩阵不仅是矩阵形式,也是一种操作和变换。一般量子逻辑门在量子态上的作用是通过酉矩阵左乘以量子态右矢对应的矩阵进行计算。
量子振幅估计(Quantum Amplitude Estimation,QAE)为经典估计量子态的振幅的量子算法,由于QAE算法用到量子相位估计QPE(Quantum Phase Estiamtion),需要用到的量子比特数和受控逻辑门等量子门数较多,因此消耗大量的比特和逻辑门数。
迭代振幅估计(Iterative Quantum Amplitude Estimation,IQAE)算法为估计量子态振幅的量子经典混合算法,该算法基于振幅放大和置信区间估计实现振幅估计,不需要运用的QPE,因此仅需要使用较少的比特数和量子逻辑门数,以及测量次数就可以以一定的置信区间达到要求的精度。
假设有量子算法(不涉及测量)作用在n+1个全为0的初始态上面,得到以下公式:
其中,a∈[0,1]且未知,|ψ0>n和|ψ1>n为两个归一化的量子态,但未必正交。振幅估计方法即用于估计出a的值。
参见图2,图2为本发明实施例提供的一种量子线路的振幅估计方法的流程示意图。所述量子线路的振幅估计方法包括:
步骤S100,在目标量子线路中确定目标量子比特的目标量子态,计算所述目标量子态的待估计振幅对应的当前幅角上界值以及当前幅角下界值的第一差值,作为目标差值;
目前的量子线路的振幅估计方法(IQAE算法)容易产生振幅值无法收敛的问题。为了解决上述问题,本发明通过确定各个迭代步骤中的放大量子线路的放大参数,以不断迭代使得幅角上界值以及下界值的差值在精度阈值内,避免产生振幅值无法收敛的问题,提高振幅估计值的精确性。本申请没有用QPE算法,而是基于Grover算法,并对待估计的参数进行了三角变换,并根据测量结果进行置信区间的估计,通过控制Grover算子作用的次数,再不断迭代找到使得待求参数的上界和下界的距离在给定置信度和精度的要求。
具体地,获取当前迭代步骤中的幅角上界值θu,即当前幅角上界值,以及幅角下界值θl,即当前幅角下界值,然后计算当前迭代步骤中的幅角差值,作为目标差值。并判断当前迭代步骤中的幅角差值是否符合条件,即是否不大于预设精度阈值。其中,在所述当前迭代步骤中的幅角差值符合条件时,即所述目标差值不大于所述精度阈值时,表示待估计振幅a达到了收敛条件。
步骤S200,在所述目标差值大于预设精度阈值时,根据预设中间变量参数、所述当前幅角上界值以及所述当前幅角下界值,确定下一迭代步骤对应的下一幅角放大因子以及下一标记参数;
本实施例中,在所述目标差值大于预设精度阈值时,即当前迭代步骤得到的振幅a未达到收敛条件,需要继续进行振幅的下一迭代步骤。
设定初始值,即初始迭代次数iter=0(i=0),设定θa的初始置信区间[θl,θu]=[0,π],设定精度ε,精度阈值可以是精度的预设倍数,如2ε,1.5ε等,设定初始幅角放大因子ki=0。其中,第一迭代步骤中的幅角差值(即θu-θl=π)大于预设精度阈值,进一步计算第二迭代步骤所需的下一幅角放大因子;
根据第一迭代步骤中的幅角上界值和幅角下界值,以及预设计算公式
以根据及
其中,预设中间变量参数K=K
max-(K
max-2)%4,
由此计算出第二迭代步骤中的幅角最大值和幅角最小值;
根据幅角最大值和幅角最小值,确定所述第二迭代步骤中幅角的范围,如:
幅角在上半圆时,即
即第二迭代步骤中的下一幅角放大因子k
i+1=int(K-2)/4,第二迭代步骤中的下一标记参数up
i+1=true;
幅角在下半圆时,
即第二迭代步骤中的下一幅角放大因子k
i+1=int(K-2)/4,第二迭代步骤中的下一标记参数up
i+1=false。
进一步地,所述在所述目标差值大于预设精度阈值时,根据预设中间变量参数、所述当前幅角上界值以及所述当前幅角下界值,确定下一迭代步骤对应的下一幅角放大因子以及下一标记参数的步骤包括:
在所述目标差值大于所述精度阈值时,获取当前迭代步骤中的变量参数,并将所述当前迭代步骤中的变量参数缩小预设值,作为所述下一迭代步骤对应的中间变量参数;
根据所述当前幅角上界值以及所述中间变量参数,确定所述下一幅角最大值;
根据所述当前幅角下界值以及所述中间变量参数,确定所述下一幅角最小值;
根据所述下一幅角最大值与所述所述下一幅角最小值,确定所述下一迭代步骤对应的下一幅角放大因子以及下一标记参数。
本实施例中,确定下一迭代步骤中的幅角放大因子的函数思想是先找到下一个幅角放大因子可能取值的上界值K(即中间变量参数),即满足放大后θu-θl小于π,由此保证θu和θl大概率在同一半平面中。之后逐渐减小取值的上界值K直到K满足和在同一半平面内,此时的K即为满足条件的最大的K。具体地,在第二迭代步骤中的幅角差值大于所述精度阈值时,进一步计算下一迭代步骤所需的下一幅角放大因子,即第三迭代步骤的幅角放大因子。将第二迭代步骤中的中间变量参数(即当前迭代步骤中的变量参数)K缩小预设值,如将当前迭代步骤中的变量参数K减去固定值4或2等,作为第三迭代步骤中的中间变量参数。
然后根据第三迭代步骤中的中间变量参数K的取值、第二迭代步骤中的幅角上界值和幅角下界值,以及预设计算公式
以根据及
由此计算出第三迭代步骤中的幅角最大值和幅角最小值。
根据幅角最大值和幅角最小值,确定所述第三迭代步骤中幅角的范围,如:
幅角在上半圆时,即
即第三迭代步骤中的下一幅角放大因子k
i+1=int(K-2)/4,第三迭代步骤中的下一标记参数up
i+1=true;
幅角在下半圆时,
即第三迭代步骤中的下一幅角放大因子k
i+1=int(K-2)/4,第三迭代步骤中的下一标记参数up
i+1=false。
步骤S300,控制预设放大量子线路以所述下一幅角放大因子对所述目标量子线路进行放大,并根据预设观测总次数,对放大后目标量子线路中所述目标量子比特的目标量子态进行测量;
本实施例中,通过预设放大量子线路Q以下一幅角放大因子k为放大阶数,对量子线路A进行放大,即得到:
QkA|0>n|0>=coS((2k+1)θa)|ψ0>n|0>+sin((2k+1)θa)|ψ1>n|1>,其中a=sin2(θa)。
a等同于估计参数θa,给定θa置信区间[θl,θu]=[0,π],利用三角变换公式sin2(θ)=(1-coS(2θ))/2,从而将a=sin2(θa)转换为(1-cos(2θa))/2。目标是找到最大的幅角放大因子k(以使a的置信区间长度充分小于预设的精度阈值),使得(4k+2)θa充分落在[0,π]或[π,2π]。然后再利用函数cos(x)在区间[0,π]或[π,2π]的可逆性(即函数单调性),通过Chernoff-Hoeffding或Clopper-Pearson置信区间估计方法,从而以较大的置信度1-a找到满足条件的置信区间[θl,θu],使得
其中,θu-θl<2ε(ε为给定的精度),并且根据[θl,θu|和a=sin2(θa)计算出的[al,au]也满足au-al<2ε,使得
其中,a的精度一定小于θ的精度,从而以预设置信度1-a确定估计振幅a的值为(au+al)/2。
其中,具体量子线路如图3所示,Q算子需要根据算子A来构建,其数学表达式如下:
其中
在作用完A算子以后,可通过在最后一个量子比特作用X门和Z门来构建
均等效量子线路,S
0可运用多控X门和Z门(即通过最后一个量子比特来构建)。
对目标量子线路A进行线路放大后,根据预设观测总次数,对目标量子线路中的最后一个比特(还可以是其他设定的比特)的量子态进行测量,并记录测量量子线路
的最后一个比特为|1>的次数count
1,即测量所述目标量子比特的目标量子态所得的次数作为测量结果。
进一步地,所述步骤S300具体包括:
根据预设最大迭代次数、预设初始缩放因子以及所述当前迭代步骤对应的迭代误差,确定所述下一迭代步骤中观测所述目标量子态的观测次数,作为所述观测总次数;
统计所述目标量子态为设定态的目标次数,根据所述目标次数以及所述观测总次数,计算所述目标量子态为设定态的目标频率参数,作为所述测量结果。
本实施例中,观测总次数的取值可以直接影响振幅算法的估计效率以及估计值的稳定性,在根据经验值(如100)设定观测总次数时,设定值过小会使得估计结果容易收敛到错误值上,设定值过大导致估计效率降低。为了解决上述问题,根据预设最大迭代次数、预设初始缩放因子以及所述当前迭代步骤对应的迭代误差,确定下一迭代步骤所需的观测总次数。具体地,观测总次数的计算公式为:
NshotS=int(roundmax*scla*log(2.0/a*log(π/4/esp))),
其中,当前迭代步骤的迭代误差esp=(θu-θl)*PI/2.0,PI=π,初始测量次数的缩放因子scla=3.0/4.0。
具体实施例中,为了防止精度差值过大,设定迭代误差的上限值esp=PI/8.0,即在所述迭代误差超过PI/8.0时,取PI/8.0,在迭代误差超过单次迭代最大误差时,该迭代步骤的数据为无效数据,其中,单词迭代最大误差为:
a=1-置信度,置信度为预设值。为了防止测量次数过多,设定观测总次数阈值N
shots=N
max,即在所述观测总次数超过N_max,则取N_max,其中,
在确定下一迭代步骤的观测总次数后,对所述目标量子比特(最后一个量子比特或者其他位量子比特)的量子态测量观测总次数对应的次数,并统计所述目标量子比特的目标量子态为|1>的目标次数,并将所述目标次数与所述观测总次数的比值记为所述所述目标量子比特的目标量子态为设定态的目标频率参数,即作为所述测量结果。
更多实施例中,为了可以有效利用已有的测量数据,提高测量数据的利用率,提高振幅的估计准确性,将各个迭代步骤中相同幅角放大因子(即幅角放大因子k相同)的所述目标量子比特的目标量子态为|1>的目标次数求和,并将各个迭代步骤中相同幅角放大因子的观测总次数求和,然后将求和后的目标次数之和以及观测总次数之和的比值记为目标频率参数,即作为所述测量结果。
步骤S400,根据所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数以及所述目标量子态的测量结果,计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值,作为目标差值,直至所述目标差值不大于所述精度阈值;
本实施例中,将所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数以及所述目标量子态的测量结果确定的目标频率参数,计算确定所述待估计振幅的下一幅角上界值以及下一幅角下界值。然后计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值,记为目标差值。在所述第二差值大于所述精度阈值,返回步骤S100,进一步计算下一迭代步骤的所需参数进行幅角的迭代计算;在所述第二差值不大于所述精度阈值,停止幅角的迭代计算。
其中,所述根据所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数以及所述目标量子态的测量结果,并计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值的步骤包括:
根据三角变换公式、所述下一标记参数以及所述频率置信区间,计算当前幅角对应的幅角置信区间;
根据所述幅角置信区间对应的上界值、当前幅角上界值以及下一幅角放大因子,确定所述下一幅角上界值;
根据所述幅角置信区间对应的下界值、当前幅角下界值以及下一幅角放大因子,确定所述下一幅角下界值;
计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值。
其中,所述预设置信区间估计函数包括Chernoff-Hoeffding函数或Clopper-Pearson函数。
本实施例中,根据Chernoff-Hoeffding或Clopper-Pearson置信区间估计函数,估算所述目标频率参数对用的频率置信区间[alower,aupper],并利用三角变换公式sin2(θ)=(1-cos(2θ))/2,从而将a=sin2(θa)转换为(1-coS(2θa))/2;然后根据[alower,aupper]、下一迭代步骤中的下一标记upi以及(1-coS(2θa))/2计算θ的置信区间[θmin,θmax]。其中,如果幅角在上半圆即upi=true,则θmin=arccos(1-2alower),θmax=arccos(1-2aupper);如果幅角在下半圆,即θmin=2π-arccos(1-2aupper),θmax=2π-arccos(1-2alower));然后根据下一迭代步骤的幅角上界值以及幅角下界值计算公式:
其中,Ki+1=4ki+2,由此,通过上一迭代步骤中的幅角上界值以及幅角下界值确定下一迭代步骤中的幅角上界值以及幅角下界值。
其中,所述确定所述目标频率参数对用的频率置信区间的步骤包括:
根据预设置信区间估计函数、所述最大迭代次数以及所述观测总次数,计算所述目标频率参数对应的频率置信区间长度;
根据所述频率置信区间长度,估算所述目标频率参数对应的频率置信区间。
本实施例中,根据预设置信区间估计函数、所述最大迭代次数、所述观测总次数以及下述频率置信区间长度计算公式:
其中,roundmax为单次迭代步骤中的最大迭代次数,shots_num为观测总次数,a=1-置信度,置信度为预设值,min(shots_num,Nmax)为取shots_num和Nmax中较小的数值。
然后根据置信区间下界值计算公式以及置信区间上界值估算公式:
alower=val-esp_val,
aupper=val+esp_val,
其中alower不小于0,aupper不大于1。
本实施例将分母中的观测次数由观测最大次数N_max替换为实时次数shots_num观测总次数,以避免导致开始时在观测次数小的情况下强行把范围缩小从而收敛到错误值,由此确定所述目标频率参数val的频率置信区间。
针对振幅估计算法容易产生收敛到错误值的问题,本申请改良了Chernoff-Hoeffding公式的计算方式。原公式中计算时的分母为N_max容易导致开始时在观测次数小的情况下强行把范围缩小从而收敛到错误值。另外,改为在相同幅角放大因子k下的观测总次数N,也容易导致当k更新时N断崖式减小导致最后结果不收敛,由此,本申请将输入的参数修改为累计观测次数的2倍,直到这个值到达N_max后稳定取N_max。
步骤S500,根据达到所述精度阈值的幅角上界值及下界值,确定所述待估计量子比特对应的概率估计值。
其中,所述步骤S500包括:
根据达到所述精度阈值的幅角上界值及下界值,计算所述频率置信区间对应的上界值以及下界值,并根据所述频率置信区间对应的上界值以及下界值的平均值,确定所述待估计振幅对应的振幅估计值。
本实施例中,在确定所述频率置信区间对应的上界值以及下界值之后,将所述频率置信区间对应的上界值以及下界值代入振幅计算公式a=(al+au)/2,由此确定所述待估计振幅对应的振幅估计值。
具体实施例中,为了提高振幅估计值的准确性,可根据下一迭代步骤中的θl、θu、al=sin2(2πθl)以及au=sin2(2πθu),计算确定下一迭代步骤中的al以及au。将所述频率置信区间对应的上界值以及下界值代入振幅计算公式a=(al+au)/2,由此确定所述待估计振幅对应的振幅估计值。其中,通过alower=val-esp_val,以及aupper=val+esp_val,估算出所述目标频率参数val的频率置信区间。然后在确定下一迭代步骤的θl以及θu后,进一步根据al=sin2(2πθl)以及au=sin2(2πθu),精确计算出所述目标频率参数的频率置信区间,作为所述振幅估计值。
与现有技术相比,本发明提供的一种量子线路的振幅估计方法,本发明在当前迭代步骤中的当前幅角上界值与下界值的差值大于精度阈值时,根据当前迭代步骤中的中间变量参数、当前幅角上界值以及下界值,确定下一迭代步骤所需的下一幅角放大因子以及下一标记参数。并控制放大量子线路以所述下一幅角放大因子为放大参数,对所述目标量子线路进行放大,以便测量所述目标量子线路中的目标量子比特的目标量子态。然后根据所述目标量子态的测量结果,结合所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数等参数,计算下一迭代步骤中的下一幅角上界值以及下界值,并在所述下一幅角上界值以及下界值的差值小于精度阈值时,停止迭代,并根据所述目标量子态的测量结果,完成所述待估计振幅的振幅估计。由此,通过确定各个迭代步骤中的放大量子线路的放大参数,以不断迭代使得幅角上界值以及下界值的差值在精度阈值内,避免产生振幅值无法收敛的问题,提高振幅估计值的精确性。
本发明实施例还提供了一种量子线路的振幅估计装置,所述量子线路的振幅估计装置包括:
第一差值计算模块,用于在目标量子线路中确定目标量子比特的目标量子态,计算所述目标量子态的待估计振幅对应的当前幅角上界值以及当前幅角下界值的第一差值,作为目标差值;
幅角因子计算模块,用于在所述目标差值大于预设精度阈值时,根据预设中间变量参数、所述当前幅角上界值以及所述当前幅角下界值,确定下一迭代步骤对应的下一幅角放大因子以及下一标记参数;
量子态测量模块,用于控制预设放大量子线路以所述下一幅角放大因子对所述目标量子线路进行放大,并根据预设观测总次数,对放大后目标量子线路中所述目标量子比特的目标量子态进行测量;
第二差值计算模块,用于根据所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数以及所述目标量子态的测量结果,计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值,作为目标差值,直至所述目标差值不大于所述精度阈值;
目标振幅估计模块,用于根据达到所述精度阈值的幅角上界值及下界值,确定所述待估计量子比特对应的概率估计值。
进一步地,所述量子线路的振幅估计装置还包括:
观测次数计算模块,用于根据预设最大迭代次数、预设初始缩放因子以及所述当前迭代步骤对应的迭代误差,确定所述下一迭代步骤中观测所述目标量子态的观测次数,作为所述观测总次数;
频率参数计算模块,用于统计所述目标量子态为设定态的目标次数,根据所述目标次数以及所述观测总次数,计算所述目标量子态为设定态的目标频率参数,作为所述测量结果。
进一步地,所述频率参数计算模块还用于:
根据预设置信区间估计函数、所述最大迭代次数以及所述观测总次数,计算所述目标频率参数对应的频率置信区间长度;
根据所述频率置信区间长度,估算所述目标频率参数对应的频率置信区间。
进一步地,所述第二差值计算模块还用于:
根据三角变换公式、所述下一标记参数以及所述频率置信区间,计算当前幅角对应的幅角置信区间;
根据所述幅角置信区间对应的上界值、当前幅角上界值以及下一幅角放大因子,确定所述下一幅角上界值;
根据所述幅角置信区间对应的下界值、当前幅角下界值以及下一幅角放大因子,确定所述下一幅角下界值;
计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值。
进一步地,所述目标振幅估计模块还用于:
根据达到所述精度阈值的幅角上界值及下界值,计算所述频率置信区间对应的上界值以及下界值,并根据所述频率置信区间对应的上界值以及下界值的平均值,确定所述待估计振幅对应的振幅估计值。
其中,所述预设置信区间估计函数包括Chernoff-Hoeffding函数或Clopper-Pearson函数。
进一步地,所述幅角因子计算模块还用于:
在所述目标差值大于所述精度阈值时,获取当前迭代步骤中的变量参数,并将所述当前迭代步骤中的变量参数缩小预设值,作为所述下一迭代步骤对应的中间变量参数;
根据所述当前幅角上界值以及所述中间变量参数,确定所述下一幅角最大值;
根据所述当前幅角下界值以及所述中间变量参数,确定所述下一幅角最小值;
根据所述下一幅角最大值与所述所述下一幅角最小值,确定所述下一迭代步骤对应的下一幅角放大因子以及下一标记参数。
本发明实施例还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项中方法实施例中的步骤。
具体的,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在目标量子线路中确定目标量子比特的目标量子态,计算所述目标量子态的待估计振幅对应的当前幅角上界值以及当前幅角下界值的第一差值,作为目标差值;
S2,在所述目标差值大于预设精度阈值时,根据预设中间变量参数、所述当前幅角上界值以及所述当前幅角下界值,确定下一迭代步骤对应的下一幅角放大因子以及下一标记参数;
S3,控制预设放大量子线路以所述下一幅角放大因子对所述目标量子线路进行放大,并根据预设观测总次数,对放大后目标量子线路中所述目标量子比特的目标量子态进行测量;
S4,根据所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数以及所述目标量子态的测量结果,计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值,作为目标差值,直至所述目标差值不大于所述精度阈值;
S5,根据达到所述精度阈值的幅角上界值及下界值,确定所述待估计量子比特对应的概率估计值。
具体的,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明实施例还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项中方法实施例中的步骤。
具体的,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
具体的,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在目标量子线路中确定目标量子比特的目标量子态,计算所述目标量子态的待估计振幅对应的当前幅角上界值以及当前幅角下界值的第一差值,作为目标差值;
S2,在所述目标差值大于预设精度阈值时,根据预设中间变量参数、所述当前幅角上界值以及所述当前幅角下界值,确定下一迭代步骤对应的下一幅角放大因子以及下一标记参数;
S3,控制预设放大量子线路以所述下一幅角放大因子对所述目标量子线路进行放大,并根据预设观测总次数,对放大后目标量子线路中所述目标量子比特的目标量子态进行测量;
S4,根据所述当前幅角上界值、当前幅角下界值、下一幅角放大因子、下一标记参数以及所述目标量子态的测量结果,计算所述待估计振幅的下一幅角上界值以及下一幅角下界值的第二差值,作为目标差值,直至所述目标差值不大于所述精度阈值;
S5,根据达到所述精度阈值的幅角上界值及下界值,确定所述待估计量子比特对应的概率估计值。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,以上所述仅为本发明的较佳实施例,但本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。