丁晨 李坦 張碩 郭楚 黃合良 鮑皖蘇
(河南省量子信息與量子密碼重點實驗室,鄭州 450004)
在量子計算過程中,需要通過量子測量讀取計算結果.然而,受限于物理實現,對量子態(tài)的測量往往存在較大誤差,直接影響量子計算結果的正確提取,以及限制量子計算的大規(guī)模擴展.本文針對一種特定形式的量子態(tài),提出基于輔助單比特測量的量子態(tài)間接讀取算法,避免多比特測量帶來的大量測量誤差.理論和模擬結果表明,當所讀取的量子態(tài)比特數較大時,該算法相比于直接讀取具有更高的正確率,可用于大規(guī)模量子糾錯和量子態(tài)的高保真度讀取.
20 世紀80 年代以來,量子計算由于具有可快速求解困難問題的強大潛力,得到了廣泛的關注和研究.人們已經設計出一系列具有加速能力的量子算法,比如Shor 算法[1]、Grover 算法[2]、線性方程組量子求解算法[3]等.量子計算的多種物理平臺實現(如超導[4-13]、線性光學[14-24]、離子阱[25]、硅[26,27]、原子[28])也取得了巨大的進展,人們于2019 年[29]和2020 年[30]兩次在不同的量子計算體系上驗證了量子霸權(量子優(yōu)越性),即證明了量子計算在某些問題上具備極大超越經典計算機的計算能力.盡管隨著理論研究的深入,隨機線路采樣的經典模擬速度得到了不斷提升[31,32],但中國研制的“祖沖之”號超導量子芯片[33]依然可以保持量子優(yōu)越性.目前,量子計算已呈加速發(fā)展之勢,并已進入中等尺度含噪聲量子(noisy intermediate-scale quantum,NISQ)時代,具備實現量子機器學習[34-36]、量子盲計算[37-39]等量子計算近期應用的可能.
影響量子計算大規(guī)模擴展的一個主要因素是噪聲,包括門操控誤差、讀取誤差、串擾噪聲、退相干噪聲等.不同噪聲所帶來的影響因不同物理系統(tǒng)而異.以2019 年谷歌實現量子霸權的Sycamore號超導量子計算處理器[29]為例,讀取誤差比門操控誤差高一個量級(單比特門誤差0.16%,兩比特門誤差0.62%,讀取誤差3.8%).量子態(tài)的讀取總誤差往往與量子態(tài)的比特數呈正相關,通常來說,所測量的量子比特數越多,錯誤概率也就越大.但量子態(tài)的測量是量子計算過程不可避免的.在量子算法和量子糾錯中,人們都依賴測量進行計算結果讀取和錯誤探測.因此,如何避免或減小測量誤差將直接影響量子計算結果的正確提取與量子計算的大規(guī)模擴展.
本文提出一種基于輔助單比特測量的量子態(tài)讀取算法,可以避免多比特測量引入的大量誤差.該算法適用于振幅的模長是二值的量子態(tài)|a〉=.它通過引入一個輔助比特,將量子態(tài)的全部振幅編碼到這個比特上,使得僅通過測量這一個比特,便可解碼獲取多比特量子態(tài)的信息.對該算法進行了理論分析和數值模擬,并與量子態(tài)的直接測量進行了比較.結果表明,當測量噪聲較大,或需讀取的量子比特較多時,本文算法可顯著降低測量誤差.該算法適用的量子態(tài)具備一定代表性,如Grover算法的輸出態(tài)和量子糾錯的錯誤探測比特等.因此,本文算法可直接提升部分量子計算過程的性能.
本節(jié)將通過偽代碼的方式,介紹提出的基于輔助單比特測量的量子態(tài)間接讀取算法.該算法針對如下類型量子態(tài):
其中量子態(tài)的振幅模長是二值的,即所有振幅滿足|ai|2∈{0,1/c},?i∈{0,···,M},其中c為|a〉中非零振幅的個數.該形式量子態(tài)廣泛存在于量子算法的輸出中,比如,多目標Grover 算法[2]所輸出的態(tài)是所有目標態(tài)的均勻疊加.
通常來說,通過直接對量子算法的輸出態(tài)進行測量,便可讀取計算結果.具體來說,就是對輸出量子態(tài)進行多次制備,每次制備以后,對其所有比特在自然基矢下進行測量,從而得到一個結果列表.當|i〉在結果列表中時,則認為|ai|2=1/c,否則認為|ai|2=0 .由于直接讀取需要讀取每一個量子比特,隨著量子態(tài)規(guī)模的擴展,讀取結果正確性將呈指數級下降.并且,直接測量方法每次測量|a〉都只坍縮到振幅非零的基矢上,它在測出所有的非零振幅前無法確定那些振幅為0 的基矢.
本文提出的間接讀取算法就是為了克服以上兩個問題.在已知c的情況下,可以僅通過一個比特的測量來讀出所有振幅模方|ai|2,并確定其是0 還是 1/c.算法的大致思路是:
1) 把|a〉中要讀取的振幅通過受控旋轉編碼到一個輔助比特的振幅上,得到
為了使得測量輔助比特能夠獲取到量子態(tài)|a〉的振幅信息,受控旋轉的角度需要特殊設計(具體見算法1).
2) 測量輔助比特,得到輔助比特中|0〉的概率
3) 對A′進行解碼,提取量子態(tài)的振幅信息|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 節(jié)中分析的正確概率下界P1進行給出.
本節(jié)將刻畫量子比特測量噪聲、測量次數等因素對算法正確概率的影響,并說明算法2 在避免測量誤差上相比于直接測量存在優(yōu)勢.
首先考慮測量噪聲的一個簡單模型.即每個比特在測量時獨立地按固定概率η翻轉.此時測量n個比特時,算法每次執(zhí)行的正確概率是 (1-η)n,N次執(zhí)行的正確概率為
我們依賴N次測量的統(tǒng)計結果A′來估計A,每次測量相當于投一個不均勻硬幣,因此有
不考慮測量噪聲時,測量N次,算法的正確概率為
將測量噪聲納入考慮.此時,執(zhí)行N次1比特測量,算法的正確概率不小于
在上式中,直接將Pour和P測量相乘,表達的是算法的N次測量都得到正確結果,且算法能正確讀出m個|ai|2的概率.當算法的N次測量中存在錯誤時,也有一些可能會正確地讀出所需的m個|ai|2,那與所需讀取的態(tài)|a〉有關,這里不予考慮.
作為比較,考慮另一種讀取方法—對|a〉的直接測量,它直接對寄存器中的n個比特測量N次,并根據測量結果推斷出對應的振幅模方.比如,如果測量結果里含有00,則推斷|a00|2=1/c.注意到直接方法每次測量都會把|a〉投影到某一個振幅非零的基矢上.在把所有振幅非零的項找到之前,直接測量并不能確認剩下的振幅是不是0.因此,對直接測量方法來說,讀取部分|ai|2和全部|ai|2所需要的算法測量次數是一樣的.
不考慮測量誤差時,不妨設非零振幅對應指標為 1,···,c,設Pk1,···,kl(N):=P(N次測量結果不包含k1,···,kl),則直接測量方法的正確概率為
將測量誤差納入考慮.此時,由于執(zhí)行N次n比特測量,算法的正確概率不小于
與計算P1的考慮相同,上式中直接將Pdirect和P測量相乘,表達的是算法的N次測量都得到正確結果,且算法能正確讀出m個|ai|2的概率.本文不考慮算法在測量發(fā)生錯誤時依然正確地讀出m個|ai|2的情況.
現在已經得到了兩個算法的正確概率P1和P2.為了直觀地比較P1和P2的大小,計算給定測量次數N=10和測量噪聲η的情況下,兩個算法隨機讀取一個n比特量子態(tài)的平均正確概率,結果如圖1所示.
從圖1 可以看出,比特數增加時,兩個算法的平均正確概率都會降低,但算法2 的平均正確概率始終大于直接測量;測量噪聲為0 時,直接測量的平均正確概率比算法2 高0.02 左右,但隨著測量噪聲增大,兩個算法的平均正確概率都會降低,直接測量的平均正確概率在測量噪聲大于0.001時被算法2 超過.因此,當n或者η較大時,P1都會高于P2,算法2 都具有顯然的優(yōu)勢.
圖1 兩個算法隨機讀取多比特量子態(tài)的平均正確概率.在左圖中,測量噪聲 η 固定為0.05,研究平均正確概率隨測量噪聲n 的變化.在右圖中,比特數n 固定為3,研究平均正確概率隨測量噪聲 η 的變化.平均正確概率的計算方法為隨機抽取1000 個量子態(tài)計算對應的 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]模擬了量子態(tài)讀取的兩個算法(算法2 和直接測量算法)在多種情況下的表現,并進行對比.所有代碼可以在https://github.com/helloinrm/readout 查看和下載.
首先模擬測量噪聲對兩個算法正確率的影響.如圖2 所示,設置了不同大小的測量噪聲η=0,0.01,···,0.09,讓算法2 和直接測量算法對|00〉態(tài)進行讀取,并設置測量次數N=1 .將算法運行1000 次,并將兩個算法對|00〉讀取正確與否進行統(tǒng)計,得到算法的正確率和正確率的95%置信區(qū)間.從圖2 可以看出,測量噪聲η為0 時,兩個算法正確率為1.隨著測量噪聲η的增加,兩個算法的正確率都會下降,但直接測量算法的錯誤率下降更快.
接著,考察測量比特數對兩個算法正確率的影響.如圖2 所示,設置測量噪聲η=0.05 (接近一些物理平臺上的測量噪聲參數),讓兩個算法對不同比特數(n=2,···,8)的|0···0〉態(tài)進行讀取,并設置測量次數N=1 .將算法運行1000 次,得到算法的正確率和正確率的 95% 置信區(qū)間.從圖2 可以看出,比特數增加時,算法2的正確率維持在0.05 上下,但直接測量算法正確率不斷下降.
圖2 兩個算法在多種情況下的正確率比較.其中實線是正確率,色帶是95%置信區(qū)間.圖例中,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離散振幅的解碼算法.
當所要讀取振幅個數增多時,算法執(zhí)行受控旋轉的最大角度不斷逼近 π/2 .具體來說,算法同時讀取m個振幅時,).這對量子計算物理實現中受控旋轉的精度提出了較高要求.
為了增強該算法對目前實現技術的適應性,可以將振幅讀取任務分割成幾份,通過多次調用算法2 來避免高精度受控旋轉.比如,將所需讀取的m個振幅分為k份.在每份中,將所需讀取的振幅指標作為輸入調用算法2,則此時所需進行的最大受控旋轉角度是,降低了對受控旋轉的精度要求.
針對振幅是二值的這種特定形式的量子態(tài),提出了基于輔助單比特測量的量子態(tài)間接讀取算法.這種算法將所要讀取的振幅編碼到一個輔助量子比特上,通過對單比特的測量來讀取所需振幅.從而避免了多比特測量帶來的大量測量誤差.理論和模擬結果表明,當所讀取的量子態(tài)比特數較大時,該算法相比于直接讀取具有更高的正確率.因此,它可以用于大規(guī)模量子糾錯和量子態(tài)的高保真度讀取.其高正確率也有助于降低量子算法的執(zhí)行和測量次數,有利于量子計算的大規(guī)模擴展.
根據算法所能讀取的特定量子態(tài)形式,我們預期其可以在讀取多目標Grover 算法的輸出態(tài)和量子糾錯的錯誤探測比特時使用.同時,該算法的應用范圍可以進行擴展,以讀取具有離散振幅的量子態(tài).考慮到這種擴展的思路在線路設計和編碼方式上都具有較大的靈活度,我們相信該算法的功能還可以大大擴增,以符合更多的應用場景.