據(jù)國外媒體報道,量子糾錯的話題性遠不如“量子霸權(quán)”,對于量子計算機的應(yīng)用而言,量子糾錯卻有著遠超過量子霸權(quán)的重要性。那么,實用化的量子計算機將采用什么樣糾錯方法?最近,研究者在一臺真正的機器上進行了演示。
1994年,當(dāng)時還在新澤西州貝爾實驗室工作的數(shù)學(xué)家彼得·秀爾證明,量子計算機解決某些問題的速度要比經(jīng)典機器快得多,甚至達到指數(shù)倍。問題在于,我們能造出量子計算機嗎?懷疑者認為,量子態(tài)過于脆弱,以至于環(huán)境將不可避免地混淆量子計算機中的信息,使其根本不是量子態(tài)。
一年后,彼得·秀爾做出了回應(yīng)。經(jīng)典的糾錯方案是通過測量單個比特來糾錯,但這種方法不適用于量子比特(qubit),因為任何測量都會破壞量子態(tài),從而干擾量子計算。秀爾找到了一種方法,可以在不測量量子比特自身狀態(tài)的情況下,檢測是否發(fā)生了錯誤。這一方法標(biāo)志著量子糾錯領(lǐng)域的開端。
隨著這一領(lǐng)域的蓬勃發(fā)展,大多數(shù)物理學(xué)家開始將秀爾的算法視為構(gòu)建實用化量子計算機的唯一途徑。如果沒有這種方法,就無法提升量子計算機的性能,使其能夠解決真正困難的問題。
與通常的量子計算一樣,開發(fā)糾錯代碼是一回事,而在工作機器中實現(xiàn)它則是另一回事。不過,在2021年10月初,由美國馬里蘭大學(xué)物理學(xué)家克里斯·門羅領(lǐng)導(dǎo)的研究團隊報告稱,他們成功演示了秀爾的糾錯回路在運行時所必需的多個要素。
那么,彼得·秀爾是如何解決這個難題的呢?簡單來說,他利用了量子力學(xué)的額外復(fù)雜性。
重復(fù)比較
彼得·秀爾在設(shè)計糾錯編碼時仿照了經(jīng)典中繼器的編碼,其中包括復(fù)制每一比特的信息,然后定期檢查這些副本。如果其中一個比特不同于其他比特,計算機就可以糾正這個錯誤并繼續(xù)計算。
在秀爾設(shè)計的量子糾錯編碼中,他用三個獨立的“物理”量子比特來編碼信息的單個量子比特,即“邏輯”量子比特。當(dāng)然,他的量子中繼編碼不可能和經(jīng)典版本完全一樣。量子計算的優(yōu)勢本質(zhì)上來自量子比特可以同時存在于0和1的“疊加”中。由于測量量子態(tài)會破壞這種疊加,因此沒有直接的方法來檢查是否發(fā)生了錯誤。
經(jīng)典的糾錯方案是通過測量單個比特來糾錯,但這種方法不適用于量子比特(qubit),因為任何測量都會破壞量子態(tài),從而干擾量子計算。為了解決這一問題,量子糾錯編碼需要另辟蹊徑,對量子比特的狀態(tài)進行檢測
相反,秀爾找到了一種判斷這三個物理量子比特是否處于相同狀態(tài)的方法。如果其中一個量子比特不同,就表明發(fā)生了錯誤。
檢查量子比特是否發(fā)生錯誤,與解決一個簡單的邏輯難題相差無幾。如果給你三個看起來一模一樣的球,但其中一個可能有不同的重量;再給你一個簡易天平,你會用什么測量方法確定其中有沒有質(zhì)量不同的球?如果有,是哪個球?
答案是,先挑出兩個球并比較它們的重量,然后用剩下的球替換其中一個,并再次檢查。如果天平兩次都保持平衡,那么所有的球都是一樣重的;如果天平只平衡一次,那么被替換的球或用來替換的球是重量不同的;如果天平兩次都不平衡,那么靜止不動的球就是質(zhì)量不同的那個。
秀爾編碼用兩個額外的“輔助”量子比特替換了天平。首先,比較第一個輔助量子比特與第一個和第二個物理量子比特;然后,比較另一個輔助量子比特與第二個和第三個物理量子比特。通過測量這些輔助量子比特的狀態(tài),就可以在不干擾三個包含信息的物理量子比特的情況下,了解它們是否處于相同的狀態(tài)。
這段編碼防止了所謂的“比特翻轉(zhuǎn)”(bit flip)——經(jīng)典計算中唯一可能發(fā)生的錯誤。然而,量子比特還有另一個潛在的錯誤來源。
疊加是量子計算的關(guān)鍵,但重要的不僅僅是量子比特的值,量子比特之間的相對“相位”也很重要。你可以將相位想象成波,其描述的是波峰和波谷的位置。當(dāng)兩個波同相時,它們的波紋是同步的。如果兩個波發(fā)生碰撞,就會產(chǎn)生相長干涉(constructively interfere),合并成一個兩倍大的波;但如果兩個波是反相的,那么當(dāng)一個波處于峰值時,另一個波則處于最低點,它們就會相互抵消,即相消干涉(destructive interference)。
量子算法利用了量子比特之間的相位關(guān)系,設(shè)置了這樣一種情況:讓計算的正確結(jié)果相長干涉,由此被放大,而錯誤的結(jié)果則通過相消干涉被消除。不過,如果某個錯誤導(dǎo)致了相位翻轉(zhuǎn),那么相消干涉就會變成相長干涉,量子計算機就會開始放大錯誤的結(jié)果。
彼得·秀爾發(fā)現(xiàn),他可以使用與比特翻轉(zhuǎn)相似的原理來糾正相位錯誤。每個邏輯量子比特被編碼成3個量子比特,而輔助量子比特會檢查其中一個相位是否翻轉(zhuǎn)。然后,秀爾將這兩種編碼結(jié)合起來,獲得了編碼可以將一個邏輯量子比特轉(zhuǎn)換為9個物理量子比特,從而糾正比特翻轉(zhuǎn)和相位錯誤。
容錯
秀爾的編碼原則上可以保護單個邏輯量子比特不出錯。但如果誤差測量本身就存在錯誤呢?在這種情況下,當(dāng)你試圖糾正不存在的錯誤時,就可能出現(xiàn)比特翻轉(zhuǎn),不知不覺地引入一個真正的錯誤。在某些情況下,這會導(dǎo)致錯誤級聯(lián)傳播到編碼中。
秀爾的編碼也沒有考慮如何操作由邏輯量子比特構(gòu)建的量子計算機。在1996年,經(jīng)過連續(xù)三年的開拓性研究,彼得·秀爾提出了容錯的概念。容錯編碼可以處理由環(huán)境引入的錯誤,由對這些量子比特的不完美操作引入的錯誤,甚至由糾錯步驟本身引入的錯誤——前提是這些錯誤發(fā)生的頻率低于某個閾值。
就在2021年10月,一個研究團隊宣布,他們成功使用了培根-秀爾編碼(Bacon-Shor code)——秀爾編碼的故障保護版本——來演示一個完全容錯的量子計算機所需的幾乎所有工具。他們將一個邏輯量子比特編碼到9個離子的量子態(tài)中,然后使用4個輔助量子比特,證明可以在容錯的條件下執(zhí)行量子計算所需的所有單量子比特操作。結(jié)果表明,容錯量子計算機是可行的。
不過,距離實現(xiàn)這個目標(biāo)還很遙遠,只有當(dāng)量子計算機達到大約100個邏輯量子比特時,我們才會看到糾錯所帶來的優(yōu)勢。這樣的機器需要大約1300個物理量子比特,因為每個邏輯量子比特需要9個物理量子比特加上4個輔助量子比特(目前最大的量子處理器是IBM新發(fā)布的Eagle,有127個物理量子比特),只有到這個時候,我們才能開始建造量子比特工廠,然后引入糾錯編碼。