丁晨 李坦 张硕 郭楚 黄合良 鲍皖苏
(河南省量子信息与量子密码重点实验室,郑州 450004)
在量子计算过程中,需要通过量子测量读取计算结果.然而,受限于物理实现,对量子态的测量往往存在较大误差,直接影响量子计算结果的正确提取,以及限制量子计算的大规模扩展.本文针对一种特定形式的量子态,提出基于辅助单比特测量的量子态间接读取算法,避免多比特测量带来的大量测量误差.理论和模拟结果表明,当所读取的量子态比特数较大时,该算法相比于直接读取具有更高的正确率,可用于大规模量子纠错和量子态的高保真度读取.
20 世纪80 年代以来,量子计算由于具有可快速求解困难问题的强大潜力,得到了广泛的关注和研究.人们已经设计出一系列具有加速能力的量子算法,比如Shor 算法[1]、Grover 算法[2]、线性方程组量子求解算法[3]等.量子计算的多种物理平台实现(如超导[4-13]、线性光学[14-24]、离子阱[25]、硅[26,27]、原子[28])也取得了巨大的进展,人们于2019 年[29]和2020 年[30]两次在不同的量子计算体系上验证了量子霸权(量子优越性),即证明了量子计算在某些问题上具备极大超越经典计算机的计算能力.尽管随着理论研究的深入,随机线路采样的经典模拟速度得到了不断提升[31,32],但中国研制的“祖冲之”号超导量子芯片[33]依然可以保持量子优越性.目前,量子计算已呈加速发展之势,并已进入中等尺度含噪声量子(noisy intermediate-scale quantum,NISQ)时代,具备实现量子机器学习[34-36]、量子盲计算[37-39]等量子计算近期应用的可能.
影响量子计算大规模扩展的一个主要因素是噪声,包括门操控误差、读取误差、串扰噪声、退相干噪声等.不同噪声所带来的影响因不同物理系统而异.以2019 年谷歌实现量子霸权的Sycamore号超导量子计算处理器[29]为例,读取误差比门操控误差高一个量级(单比特门误差0.16%,两比特门误差0.62%,读取误差3.8%).量子态的读取总误差往往与量子态的比特数呈正相关,通常来说,所测量的量子比特数越多,错误概率也就越大.但量子态的测量是量子计算过程不可避免的.在量子算法和量子纠错中,人们都依赖测量进行计算结果读取和错误探测.因此,如何避免或减小测量误差将直接影响量子计算结果的正确提取与量子计算的大规模扩展.
本文提出一种基于辅助单比特测量的量子态读取算法,可以避免多比特测量引入的大量误差.该算法适用于振幅的模长是二值的量子态|a〉=.它通过引入一个辅助比特,将量子态的全部振幅编码到这个比特上,使得仅通过测量这一个比特,便可解码获取多比特量子态的信息.对该算法进行了理论分析和数值模拟,并与量子态的直接测量进行了比较.结果表明,当测量噪声较大,或需读取的量子比特较多时,本文算法可显著降低测量误差.该算法适用的量子态具备一定代表性,如Grover算法的输出态和量子纠错的错误探测比特等.因此,本文算法可直接提升部分量子计算过程的性能.
本节将通过伪代码的方式,介绍提出的基于辅助单比特测量的量子态间接读取算法.该算法针对如下类型量子态:
其中量子态的振幅模长是二值的,即所有振幅满足|ai|2∈{0,1/c},∀i∈{0,···,M},其中c为|a〉中非零振幅的个数.该形式量子态广泛存在于量子算法的输出中,比如,多目标Grover 算法[2]所输出的态是所有目标态的均匀叠加.
通常来说,通过直接对量子算法的输出态进行测量,便可读取计算结果.具体来说,就是对输出量子态进行多次制备,每次制备以后,对其所有比特在自然基矢下进行测量,从而得到一个结果列表.当|i〉在结果列表中时,则认为|ai|2=1/c,否则认为|ai|2=0 .由于直接读取需要读取每一个量子比特,随着量子态规模的扩展,读取结果正确性将呈指数级下降.并且,直接测量方法每次测量|a〉都只坍缩到振幅非零的基矢上,它在测出所有的非零振幅前无法确定那些振幅为0 的基矢.
本文提出的间接读取算法就是为了克服以上两个问题.在已知c的情况下,可以仅通过一个比特的测量来读出所有振幅模方|ai|2,并确定其是0 还是 1/c.算法的大致思路是:
1) 把|a〉中要读取的振幅通过受控旋转编码到一个辅助比特的振幅上,得到
为了使得测量辅助比特能够获取到量子态|a〉的振幅信息,受控旋转的角度需要特殊设计(具体见算法1).
2) 测量辅助比特,得到辅助比特中|0〉的概率
3) 对A′进行解码,提取量子态的振幅信息|ai|2.
根据需要,可以读取所有的振幅模方|ai|2,也可以只读取部分的|ai|2,不同之处只在于受控旋转线路的设计.而根据上面的讨论,直接测量无法只读取部分|ai|2.
下面用伪代码给出我们的读取算法流程.
当需要知道所有基矢上的振幅模方时,算法为
Algorithm 1基于辅助单比特测量的读取算法.
当我们只关注几个特定基矢上的振幅模方时,算法为
Algorithm 2基于辅助单比特测量的部分|ai|2读取算法.
事实上,算法1 是算法2 的一个特例.在算法2中,当m=M+1且ij=j-1 时,便可得到算法1.在算法1 和算法2 中,为了保证算法达到所需要的正确概率,N的取值需要根据第3 节中分析的正确概率下界P1进行给出.
本节将刻画量子比特测量噪声、测量次数等因素对算法正确概率的影响,并说明算法2 在避免测量误差上相比于直接测量存在优势.
首先考虑测量噪声的一个简单模型.即每个比特在测量时独立地按固定概率η翻转.此时测量n个比特时,算法每次执行的正确概率是 (1-η)n,N次执行的正确概率为
我们依赖N次测量的统计结果A′来估计A,每次测量相当于投一个不均匀硬币,因此有
不考虑测量噪声时,测量N次,算法的正确概率为
将测量噪声纳入考虑.此时,执行N次1比特测量,算法的正确概率不小于
在上式中,直接将Pour和P测量相乘,表达的是算法的N次测量都得到正确结果,且算法能正确读出m个|ai|2的概率.当算法的N次测量中存在错误时,也有一些可能会正确地读出所需的m个|ai|2,那与所需读取的态|a〉有关,这里不予考虑.
作为比较,考虑另一种读取方法—对|a〉的直接测量,它直接对寄存器中的n个比特测量N次,并根据测量结果推断出对应的振幅模方.比如,如果测量结果里含有00,则推断|a00|2=1/c.注意到直接方法每次测量都会把|a〉投影到某一个振幅非零的基矢上.在把所有振幅非零的项找到之前,直接测量并不能确认剩下的振幅是不是0.因此,对直接测量方法来说,读取部分|ai|2和全部|ai|2所需要的算法测量次数是一样的.
不考虑测量误差时,不妨设非零振幅对应指标为 1,···,c,设Pk1,···,kl(N):=P(N次测量结果不包含k1,···,kl),则直接测量方法的正确概率为
将测量误差纳入考虑.此时,由于执行N次n比特测量,算法的正确概率不小于
与计算P1的考虑相同,上式中直接将Pdirect和P测量相乘,表达的是算法的N次测量都得到正确结果,且算法能正确读出m个|ai|2的概率.本文不考虑算法在测量发生错误时依然正确地读出m个|ai|2的情况.
现在已经得到了两个算法的正确概率P1和P2.为了直观地比较P1和P2的大小,计算给定测量次数N=10和测量噪声η的情况下,两个算法随机读取一个n比特量子态的平均正确概率,结果如图1所示.
从图1 可以看出,比特数增加时,两个算法的平均正确概率都会降低,但算法2 的平均正确概率始终大于直接测量;测量噪声为0 时,直接测量的平均正确概率比算法2 高0.02 左右,但随着测量噪声增大,两个算法的平均正确概率都会降低,直接测量的平均正确概率在测量噪声大于0.001时被算法2 超过.因此,当n或者η较大时,P1都会高于P2,算法2 都具有显然的优势.
图1 两个算法随机读取多比特量子态的平均正确概率.在左图中,测量噪声 η 固定为0.05,研究平均正确概率随测量噪声n 的变化.在右图中,比特数n 固定为3,研究平均正确概率随测量噪声 η 的变化.平均正确概率的计算方法为随机抽取1000 个量子态计算对应的 P1和 P2,并取平均Fig.1.Average probability of correctness of the two algorithms reading a n-qubit quantum state.In the left subgraph,the number of qubits is 3,and we investigate the dependence of average probability of correctness on the readout noise η .In the right subgraph,the readout noise η=0.05,and we investigate the dependence of average probability of correctness on the number of qubits.The values of average probability of correctness are calculated as the average of P1and P2 on 1000 reading instances.
用qiskit 语言[40]模拟了量子态读取的两个算法(算法2 和直接测量算法)在多种情况下的表现,并进行对比.所有代码可以在https://github.com/helloinrm/readout 查看和下载.
首先模拟测量噪声对两个算法正确率的影响.如图2 所示,设置了不同大小的测量噪声η=0,0.01,···,0.09,让算法2 和直接测量算法对|00〉态进行读取,并设置测量次数N=1 .将算法运行1000 次,并将两个算法对|00〉读取正确与否进行统计,得到算法的正确率和正确率的95%置信区间.从图2 可以看出,测量噪声η为0 时,两个算法正确率为1.随着测量噪声η的增加,两个算法的正确率都会下降,但直接测量算法的错误率下降更快.
接着,考察测量比特数对两个算法正确率的影响.如图2 所示,设置测量噪声η=0.05 (接近一些物理平台上的测量噪声参数),让两个算法对不同比特数(n=2,···,8)的|0···0〉态进行读取,并设置测量次数N=1 .将算法运行1000 次,得到算法的正确率和正确率的 95% 置信区间.从图2 可以看出,比特数增加时,算法2的正确率维持在0.05 上下,但直接测量算法正确率不断下降.
图2 两个算法在多种情况下的正确率比较.其中实线是正确率,色带是95%置信区间.图例中,direct 代表直接测量,our 代表算法2Fig.2.Correctness rates of two algorithms under multiple circumstances.In the graph,the lines represent the correctness rates while the bands represent the 95% confidence intervals.In the legend,“direct”represents the direct method,“our”represents Alg.2.
举例来说,当|ai|2∈{0,b,d},0
为了保证从A的取值到所有|ai|2取值存在一一映射,需要A关于q的高阶项和小于任意低阶项,即
整理上式得出,q可以取.此时可以进行如下解码:
Algorithm 3离散振幅的解码算法.
当所要读取振幅个数增多时,算法执行受控旋转的最大角度不断逼近 π/2 .具体来说,算法同时读取m个振幅时,).这对量子计算物理实现中受控旋转的精度提出了较高要求.
为了增强该算法对目前实现技术的适应性,可以将振幅读取任务分割成几份,通过多次调用算法2 来避免高精度受控旋转.比如,将所需读取的m个振幅分为k份.在每份中,将所需读取的振幅指标作为输入调用算法2,则此时所需进行的最大受控旋转角度是,降低了对受控旋转的精度要求.
针对振幅是二值的这种特定形式的量子态,提出了基于辅助单比特测量的量子态间接读取算法.这种算法将所要读取的振幅编码到一个辅助量子比特上,通过对单比特的测量来读取所需振幅.从而避免了多比特测量带来的大量测量误差.理论和模拟结果表明,当所读取的量子态比特数较大时,该算法相比于直接读取具有更高的正确率.因此,它可以用于大规模量子纠错和量子态的高保真度读取.其高正确率也有助于降低量子算法的执行和测量次数,有利于量子计算的大规模扩展.
根据算法所能读取的特定量子态形式,我们预期其可以在读取多目标Grover 算法的输出态和量子纠错的错误探测比特时使用.同时,该算法的应用范围可以进行扩展,以读取具有离散振幅的量子态.考虑到这种扩展的思路在线路设计和编码方式上都具有较大的灵活度,我们相信该算法的功能还可以大大扩增,以符合更多的应用场景.