1900 年,德國物理學家普朗克(Max Planck)提出量子概念,「量子論」就此宣告誕生。1981 年,著名物理學家費曼 Richard Feynman 提出了量子計算 / 量子計算機的概念,自此,量子力學進入了快速轉化為真正的社會技術的程式,人類在量子計算應用發展的道路上行進的速度也越來越快。
關於量子計算,我國量子光學的泰斗級人物郭光燦院士在文章中是這樣闡述的:「量子位元可以製備在兩個邏輯態 0 和 1 的相干疊加態,換句話講,它可以同時儲存 0 和 1。考慮一個 N 個物理位元的儲存器,若它是經典儲存器,則它只能儲存 2^N 個可能資料當中的任一個,若它是量子儲存器,則它可以同時儲存 2^N 個數,而且隨著 N 的增加,其儲存資訊的能力將指數上升,例如,一個 250 量子位元的儲存器(由 250 個原子構成)可能儲存的數達 2^250, 比現有已知的宇宙中全部原子數目還要多。」
但是,對於大多數非物理專業的人來說,理解量子計算的原理和演算法難度還是「相當大」。量子態 (Quantum State)、量子疊加(Quantum Superposition)、量子糾纏(Quantum Entanglement),這些名詞可能你都聽說過,也看過一些數學分析和理論介紹,但是對於量子計算到底是什麼依然一知半解。
一位研究量子計算的獨立科學家 Michael A. Nielsen 給出了一篇關於量子計算的科普性文章《Quantum computing for the very curious》,本文我們來一起學習一下這些量子計算入門的知識。
文章連結:https://quantum.country/qcvc
我們都知道,發明計算機的主要思想源自於英國數學家艾倫 · 圖靈(Alan Turing)和德國數學家大衛希爾伯特(David Hilbert)。希爾伯特在 1928 年提出了一個問題:是否存在一個數學家可以遵循的通用演算法,讓他們知道任何給定的數學陳述是否可證明。希爾伯特希望的演算法有點像紙筆相乘兩個數字的演算法。除了從兩個數字開始以外,你應該從一個數學猜想開始,經過演算法的步驟,你就會知道這個猜想是否可以被證明。該演算法可能過於耗時,無法在實踐中使用,但如果存在這樣的演算法,那麼至少在原則上,數學是可以理解的。為了攻擊希爾伯特的這一問題,圖靈精確的定義了演算法的含義,並描述了我們現在所稱的圖靈機器(Turing machine):可以執行任何演算法的單一通用可程式設計計算裝置。從那時起,計算機逐漸發展成為了一個產業,數十億臺基於圖靈模型的計算機已經售出。
1985 年,英國物理學家大衛 · 德伊奇(David Deutsch)提出了一個更深入的方法來定義演算法。Deutsch 指出,每一個演算法都是由一個物理系統來執行的,無論是一個有紙和鉛筆的數學家,還是一個像算盤這樣的機械系統,或是一臺現代計算機。Deutsch 提出這樣一個問題:是否有一個(單個)通用計算裝置可以有效地模擬任何其他物理系統?如果有這樣的裝置,您可以使用它來執行任何演算法,因為演算法必須在某種物理系統上執行。因此,這臺裝置將是一臺真正通用的計算機。更重要的是,Deutsch 指出,你不需要像 Turing 那樣依賴非正式的啟發式引數來證明你的演算法概念。你可以用物理定律來證明你的裝置是通用的。
從這個意義上說,計算機不僅僅是人類的發明。它們是宇宙的一個基本特徵,回答了關於宇宙如何運作的一個簡單而深刻的問題。它們很可能是被許多外星智慧反覆發現的。在試圖回答這一問題時,Deutsch 觀察到基於 Turing 模型的普通計算機在模擬量子力學系統時遇到了很多困難。為了解決這一問題,提出了量子計算機:量子計算機可以做常規計算機所能做的一切,但也能夠有效地模擬量子力學過程。這篇文章解釋了量子計算機是如何工作的,同時,還將學習量子力學的基本原理。
第一部分:量子位及其狀態(Part I: The state of a qubit)
在普通的日常計算機中,資訊的基本單位是位(Bit)。所有這些計算機所做的事情都可以被分解成 0s 和 1s 的模式,以及 0s 和 1s 的簡單操作。與傳統計算機由位元構成的方式類似,量子計算機由量子位元(quantum bits)或量子位(qubits)構成,一個量子位元對應一個狀態(state)。但是,位元的狀態是一個數字(0 或 1),而量子位元的狀態是一個向量。更具體地說,量子位的狀態是二維向量空間中的向量。這個向量空間稱為狀態空間。
有兩種特殊的量子態對應於經典位元的 0 態和 1 態。對應於 0 的量子態通常表示為 | 0⟩:
其中,這種特殊狀態 | 0⟩稱為計算基態(computational basis state)。由此,∣0⟩是量子位的計算基態,其作用與 0 在經典位元位中的作用幾乎相同。類似的,1⟩表示為二維向量如下:
計算基態∣0⟩和∣1⟩只是一個量子位的兩種可能狀態,量子位可以具有更多的狀態,這些額外的狀態賦予了量子位普通經典位元所不具備的能力。以下圖為例:
狀態 0.6∣0⟩+0.8∣1⟩是∣0⟩ 向量的 0.6 倍加上∣1⟩的 0.8 倍。在通常的向量表示法中,表示狀態為:
從數學理論的角度分析,量子位狀態是一個複雜向量空間中的二維向量。接下來,讓我們熟悉一些常用於量子態的術語。最常見的術語之一是疊加(superposition )。0.6∣0⟩+0.8∣1⟩是∣0⟩是∣0⟩ 和∣1⟩ 的疊加,即該狀態是∣0⟩ 和∣1⟩ 的線性組合。另一個常見的術語是振幅(amplitude)。振幅是疊加態的係數。例如,在 0.6∣0⟩+0.8∣1⟩中,∣0⟩的振幅為 0.6,|1⟩的振幅為 0.8。量子態的限制條件是:振幅的平方和必須等於 1。對於更一般的量子態,振幅可以是複數,我們用α和β來表示,狀態表示為α∣0⟩+β∣1⟩。約束條件是振幅的平方和是 1:
這一約束條件稱為規範化約束(normalization constraint)。用一句話總結所有這些術語:量子位的量子態是二維復向量空間(稱為狀態空間)中單位長度的向量。對於狀態 0.6∣0⟩+0.8∣1⟩,量子態的描述為:這一狀態同時(simultaneously)存在於∣0⟩ 狀態和∣1⟩狀態。這種疊加性的描述理解起來太痛苦了,就好像說,一個人處於生與死的疊加態,這種疊加態是什麼?人怎麼可能同時處於生與死的狀態呢?
當然,這種疊加性強調的是粒子級別的。人是巨大的粒子集合體,人身體裡的粒子差不多達到了 27~28 位數這樣的級別,所以人是沒有任何疊加性的。關於量子態的上述描述都是強調粒子級別的,也就是量子位的特性。
第二部分:量子邏輯門(Part II: Introducing quantum logic gates)
量子邏輯門(Quantum logic gates)是操縱量子資訊的一種方式,即量子位元或量子位元集合的量子狀態。它們類似於普通日常計算機中使用的經典邏輯門,如與門、或門和非門。而且,就像經典門在傳統計算機中的作用一樣,量子門是量子計算的基本組成部分。它們也是描述許多其他量子資訊處理任務的便捷方式,例如量子隱形傳態。
1、量子非門
量子非門是經典非門的推廣。在計算基態中,量子非門模仿了經典非門:
但計算基態並不是量子位元唯一可能的狀態。應用於一般疊加態中,量子非門表示為:
這裡使用 NOT 表示量子非門。但從事量子計算的人們通常使用符號 X 來表示非門。因此,可以重寫上述內容為:
到目前為止,我們使用的是代數方法來表示 X 門的工作方式。在量子電路(quantum circuit),我們描述 X 門如下:
從左到右的線叫做量子線( quantum wire)。量子線代表一個量子位元。術語 “線” 和它的繪製方式看起來就像量子位在空間中移動,同時,考慮這種表示在時間中的流逝對於理解量子計算也是很有意義的。將輸入和輸出狀態顯式地放在量子電路中,則有如下表示:
這就是 X 門的量子電路表示。X 門的第三個表示是一個 2×2 的矩陣:
對於一般疊加態來說,可以表示 X 門為:
2、量子線(Quantum wires)
量子線是最簡單的量子電路,量子線表示為:
對於任意量子態 ∣ψ⟩,經由量子線後輸出仍為 ∣ψ⟩:
從數學上講,這個電路是微不足道的。但是在許多物理系統中,量子線實際上是最難實現的量子計算之一!原因是量子態通常是極其脆弱的。如果你的量子位被儲存在一個微小的系統中——也許是一個單光子或者一個原子——那麼它很容易,非常容易干擾這種狀態。因此,雖然量子線在數學上是微不足道的,但它們可能是實際系統中最難構建的元素之一。
3、多門量子電路(A multi-gate quantum circuit)
首先,讓我們來看一看最簡單的多門量子電路,他是一個由兩個在一行中的 X 門組成的電路:
我們嘗試用兩種不同的方式解釋這一電路。首先是從數學理論角度分析,對於任意的輸入的一般疊加態α∣0⟩+β∣1⟩使用兩次 X,則表示將 0⟩和∣1⟩狀態互換:
所以淨效應是恢復原來的量子態,不管那個態是什麼。換句話說,這個電路相當於一根量子線:
然後,我們從矩陣表示的角度分析這個電路。如果輸入是任意量子態 ∣ψ⟩,經過第一次門後狀態為 X∣ψ⟩,經過第二次門後為 XX∣ψ⟩。XX 可以表示為:
XX 表示單位矩陣操作(Identity operation),因此 XX∣ψ⟩就是原始∣ψ⟩。
4、Hadamard 門(The Hadamard gate)
令 H 表示 Hadamard 門,則有:
Hadamard 門將一般疊加態α∣0⟩+β∣1⟩轉變為對應的疊加態輸出:
重寫上式後得到:
Hadamard 門的電路表示如下:
與 X 門類似,H 的矩陣表示為:
利用 H 門處理量子態∣0⟩,可以得到:
類似的,利用 H 門處理量子態∣1⟩,可以得到:
為了更熟悉 Hadamard 門,讓我們分析一個簡單的電路:
對於輸入量子態∣0⟩,經過第一個 H 門後為
之後輸入第二個 H 門後,輸出為
將∣0⟩項輸入(∣0⟩+∣1⟩)/sqrt(2),將∣1⟩項輸入(∣0⟩-∣1⟩)/sqrt(2),因此輸出為上式中, |1⟩項可以相互抵消,最終只留下∣0⟩,即:
同樣的推理過程適用於輸入量子態∣1⟩。因此,量子電路保持了 | 0⟩和 | 1⟩狀態不變,電路的淨效應與量子線完全相同:
從矩陣表達的角度分析,對於任意量子態 ∣ψ⟩輸入,輸出為 HH∣ψ⟩。如果你只計算矩陣乘積 HH,結果是 2×2 的恆等式矩陣,H H=I。因此,我們得到 HH∣ψ⟩=∣ψ⟩。
這個推導過程似乎與我們的預設並不一致,我們假象的是,利用 H 門,應當可以將 | 0⟩和 | 1⟩進行混合(mix),但是輸出的結果竟然是不變?這就涉及到量子計算中的兩個很重要的概念:消除(cancellation)或增強(reinforcement)。首先使用 Hadamard 門在量子態中“展開”,例如在多重計算基態的疊加。在演算法的最後,他們使用巧妙的消除和增強模式,將事物重新組合到一個(或可能是幾個,在許多量子位情況下)計算基態中,並生成所需的答案。這種消除和增強的處理過程在很多量子計算中都是非常重要的。
5、測量量子位(Measuring a qubit)
假設 Alice 在實驗室製作了一個量子態α∣0⟩+β∣1⟩,她傳送給了 Bob,那麼 Bob 如何得到 α和β的值呢?答案是:不可能!Bob 永遠無法知道α和β的值!這與我們日常思考世界如何運轉的方式是大不相同的。如果你的車出了問題,機械師可以使用診斷工具來了解發動機的內部狀態。所使用的診斷工具越好,他們能瞭解的內部狀態就越詳細越多。類似地,當我們第一次開始學習量子電路時,會猜測似乎我們也可以隨時觀察到量子態的振幅。但事實證明這是物理定律所禁止的,這些振幅是一種隱藏的資訊。
讓我們來描述一個特別重要的過程,稱為計算基礎上的測量(measurement in the computational basis)。這是量子計算的基本原理,是我們通常從量子計算機中提取資訊的方式。我們首先解釋它如何在單個量子位上工作,稍後將其推廣到多量子位系統。
對於一般疊加態α∣0⟩+β∣1⟩,當在計算的基礎上測量這個量子位時,它給給出的資訊為:結果為 0 的機率為 |α|^2,結果 1 的機率 |β|^2, 量子位測量後的對應狀態為 | 0⟩或 | 1⟩。需要注意的一個關鍵點是,在測量之後,無論結果如何,α和β都消失了。無論後位狀態是 | 0⟩還是 | 1⟩,都沒有α或β的蹤跡。所以你無法得到更多關於他們的資訊。從這個意義上說,α和β是一種隱藏的資訊——測量並不能告訴你它們是什麼。
6、一般單量子位門(General single-qubit gates)
對於一般的單量子位門來說,它們的工作原理類似。一般的單量子位門可以表示為 2×2 的酉矩陣 U。輸入任意量子態 ∣ψ⟩,得到輸出為 U∣ψ⟩。矩陣 U 是酉矩陣的是什麼意思?用代數方法回答這個問題是最簡單的,它的意思是 U†U=I。也就是說,U 的伴隨矩陣,表示為 U†,乘以 U,等於恆等矩陣。伴隨矩陣為 U 的複共軛轉置:
“酉矩陣到底意味著什麼?”原文對這個問題有詳細的證明過程,本文對此略過,感興趣的讀者可以閱讀原文。在這裡,我們引用作者給出的結論 “酉矩陣保持了輸入的長度。” 對於任意量子態 ∣ψ⟩,計算單量子位門處理後的長度為 ||U( ∣ψ⟩)||,該長度與原始長度 || ∣ψ⟩|| 相等。在這裡,它們就像普通(真實)空間中的旋轉或反射,也不會改變長度。在某種意義上,酉矩陣是實旋轉和反射的一個複雜推廣。作者在原文中還證明了這樣一條結論:“酉矩陣是唯一保持長度的矩陣”。完整的證明過程本文不再提及。
7、控制非門(The controlled-NOT gate)
截止到上文,我們已經討論了進行通用量子計算所需的大部分思想(儘管我們略過了核心的酉矩陣的證明過程)。我們瞭解了量子位、量子態、量子門、。然而,到目前為止我們涉及到的門只有一個量子位。真正在量子計算中,我們需要一些方法讓量子位相互作用。也就是說,我們需要包含兩個(或更多)量子位的量子門。本小結中就介紹一個這種門:控制非門(CNOT)。
其中,上面有小的填充點的線(在本例中是頂部的線)稱為控制量子位。上面有較大的未填充圓的線稱為目標量子位。我們現在有四個計算基態,對應於兩個量子位系統的四個可能狀態:|00⟩,|01⟩,|10⟩和 | 11⟩。對於兩個量子位系統,我們不僅可以有這四種狀態,還可以有它們的疊加態(即線性組合):
其中的引數α,β,γ,δ均為複數,以及
CNOT 門的作用很簡單。如果控制量子位設定為 1,如在狀態 | 10⟩和 | 11⟩中,則它翻轉目標量子位,否則就什麼都不做。給出所有四種計算基礎的動作:
如果您熟悉經典程式語言,那麼可以將 CNOT 看作一種非常簡單的 If-then 語句:如果設定了控制量子位,那麼就不是目標量子位。雖然看起來 CNOT 門很簡單,但它可以用作構建其他更復雜型別的條件行為的構建塊。
有一種方法可以把上面的四個方程綜合成一個方程。假設 x 和 y 是經典量子位,即 0 或 1。然後我們可以將上面的方程重寫為一個方程:
其中插入的逗號的目的是使其更易於閱讀,並不是由其它實際意義,這在處理多量子位狀態時非常常見。上面的公式清楚地表明,CNOT 只保留控制量子位 x,但如果 x 設定為 1,則翻轉目標量子位 y。最後,CNOT 會線性地作用於計算基態的疊加,就像我們對量子門所期望的那樣。所以對於任意疊加態,我們有:
此外,CNOT 是酉的,因此保持了量子態的長度。
對於三個量子位的情況, |000⟩,∣001⟩等等,下面是 CNOT 示例,其中第二個量子位作為控制量子位,第三個量子位作為目標量子位。
對於任意計算基態 | x,y,z⟩,第一個位 x 沒有改變,因為它與 CNOT 無關。第二位 y 是控制位,所以沒有改變。當控制位 y 設定為 1,則第三位 z 被翻轉。整個過程如下:
CNOT 是一個 “經典” 門,它可以與單個量子位門結合來做完成經典任務。下面給出一個兩個量子位的計算示例。從計算基態 | 00⟩開始,對第一個量子位應用 Hadamard 門,然後執行 CNOT:
其輸出為:
這個輸出態是一個高度非經典的態,它是一種叫做糾纏態(entangled state)的態。糾纏態可以用來完成各種有趣的資訊處理任務,包括量子隱形傳態和快速量子演算法。
更一般的,對於量子世界的 CNOT,如果我們有一個量子位態α∣0⟩+β∣1⟩ 和γ∣0⟩+δ∣1⟩,兩個量子位組合在一起時的組合狀態是:
CNOT 只保留控制量子位,並修改目標量子位,這在傳統的計算理論基礎上是正確的。但是在量子的世界中,可能是相反的。目標量子位也有可能影響控制量子位。
第三部分:通用量子計算(Part III: Universal quantum computing)
讓我們回到最開始的問題:是否有一個計算裝置可以有效地模擬任何其他物理系統?目前,人類最適合這種計算裝置的候選者是量子計算機。基於我們上面討論的各種元素就能夠製造出這樣一個裝置。在本文的第三部分中,我們將討論什麼是量子計算機,為什麼它們有用,以及它們是否可以被用來有效地模擬任何其他物理系統。
1、量子計算模型(The quantum computing model)
在一般的量子計算中,從許多量子位開始——我們在這裡畫四個,但一般來說,它可能更多(或更少)。可以應用各種量子門,特別是單量子位門和 CNOT 門。在電路的最後可以透過計算的方法測量出結果。這就是它的樣子:
其中的各個單個量子位門可能是各種各樣的東西——H 門、CNOT 門、旋轉門,也許還有其他的。我們可以將量子計算的三個步驟總結如下:
從計算基態開始。
應用一系列 CNOT 和單量子位門。
為了得到結果,在計算的基礎上進行測量。任何結果的機率,例如 000…0,只是相應振幅絕對值的平方。
當然,我們只是介紹了量子計算最基礎的內容。實際上,量子計算還包括更多的奇異變化,如基於測量的量子計算、拓撲量子計算等。它們在數學上都是等價的,包括量子電路模型。因此,這些模型中的任何一個量子計算都可以轉換為量子電路模型中的等效計算,而計算成本上的開銷很小。反之亦然。
最後,我們介紹一個特殊的量子門,這些門都是單位矩陣的倍數。
其中,θ為實數,且θ為酉矩陣。e^(iθ)叫做 全域性相因子(global phase factor)。這個門對最終的結果是無影響的。想象一個量子電路,它包含許多這樣的量子門,可能有不同的值,θ1,θ2,...。無論在電路中的哪個位置出現門,淨效應是將電路的狀態輸出乘以總因子 e^(iθ1+iθ2+...)。這不會改變計算基態的平方振幅,因此不會影響計算結束時的測量機率。
2、量子計算究竟有什麼好處?
在上面的分析中,我們已經用 X 門代替了 NOT 門,如果我們能夠找到替代 AND 門的量子門,就可以使用量子計算代替普通計算,同時保有量子計算的高速效能。在量子計算中,使用的是一個叫做 Toffoli 門的三位量子門。Toffoli 門很像 CNOT 門,但是它沒有一個控制量子位,而是有兩個控制量子位 x 和 y,以及一個目標量子位 z。如果設定了兩個控制量子位,則目標翻轉。
如果目標從 z=0 開始,目標輸出為 x∧y,所以 Toffoli 門可以用來模擬經典的 AND 門。這其中的一個問題是,Toffoli 門不在我們的標準基本量子門集合中。可以用 CNOT 和單量子位酉門(single-qubit unitary gates)來建立 Toffoli 門。分解的一種方法如下所示:
世界是由量子系統組成的。製藥公司僱傭了成千上萬的化學家來合成分子並描述其特性。目前這是一個非常緩慢和艱苦的過程。在一個理想的世界裡,透過高精度的計算機模擬,應當可以更快地獲得相同的資訊數千倍或數百萬倍,從而得到更多有用的資訊,回答化學家今天不可能回答的問題。不幸的是,經典計算機很難模擬量子。
假設我們有一個包含 n 個原子的分子,對於小分子來說,n 可能是 1-10,對於複雜分子來說,n 可能是數百或數千甚至更多。假設我們把每個原子看作一個量子位:為了描述這個系統,我們需要 2^n 個不同的振幅,每個 n 位的計算基態需要一個振幅,例如,| 010011⟩。實用經典的計算機模擬這樣的系統非常困難。僅僅儲存振幅就需要驚人的計算機記憶體。模擬它們在時間上的變化更具挑戰性,涉及到對所有振幅的極其複雜的更新。目前,物理學家和化學家發現了一些巧妙的方法來簡化這種情況。但即使有了這些技巧,在經典計算機上模擬量子系統也是不切實際的。而量子計算可以快速模擬量子。
在未來的一個世紀裡,當我們擁有可伸縮的量子計算機時,許多問題將會變得非常容易,因為量子計算機非常適合模擬量子系統。量子計算機不需要在經典計算機記憶體中增加一倍(或更多)的模擬原子,而只需要少量(且恆定)的額外量子位。
但是,量子計算機真的足夠通用到高效模擬任何物理系統嗎?量子計算機真的是通用裝置嗎?作者在文章最後寫道 “這個問題是個未解之謎!我們還不知道答案。” 回答這個問題的部分麻煩在於人類還沒有發現物理學的最終基本定律。現代物理學是建立在兩個驚人有效的理論基礎之上的:愛因斯坦的廣義相對論,它描述了引力是如何工作的;粒子物理學的標準模型,它解釋了幾乎所有其他東西(電磁,強和弱的核力)是如何工作的。
問題是,我們還沒有一個結合廣義相對論和標準模型的量子引力理論。沒有這樣的量子引力理論,我們就無法回答量子計算機能否有效模擬任何其他物理系統的問題。也許將來需要一些量子引力計算機,甚至比量子計算機更強大,來模擬量子引力。
我們轉向另外一個問題:“我們能否利用量子計算機有效地模擬廣義相對論和標準模型?”標準模型是一種稱為量子場論的特殊量子力學理論的例子。約翰普雷斯基爾(John Preskill)和他的合作者寫了一系列的論文,這些文章分析瞭如何用量子計算機來有效地模擬量子場論。儘管這些論文並沒有能夠模擬出完整的標準模型,但它們確實取得了許多令人鼓舞的進展。就廣義相對論而言,這個問題仍然懸而未決。事實上,即使闡述清楚廣義相對論都是很難的。廣義相對論支援封閉的時間型曲線的存在,在某種意義上,它可以用來將資訊傳送回時間。
另一個複雜的問題是,當談到計算中的 “有效模擬” 時,主要是指時間和空間開銷不會太大。但在廣義相對論中,甚至連空間和時間的基本單位也不太清楚,很難說效率意味著什麼。最後,接近奇點的時間和空間會以奇怪的方式扭曲,這也使得準確地說出高效計算的意義變得很困難。所以,這個問題也還是個未解之謎。
第四部分 量子計算的應用-量子計算機
我們在學習了上面的量子計算知識的基礎上,一起來看一看量子計算機是如何具體構造和實現的。所謂量子計算機是指遵循量子力學規律,基於量子計算原理進行資訊處理的一類物理裝置,擁有超強的資訊攜帶能力和計算處理能力。和經典計算機一樣,量子計算機也有各種各樣的軟體,包括量子作業系統,底層的量子操作指令、組合語言,以及未來開發的量子應用軟體和演算法等等。
在量子計算機領域中,Google 一直被視為 “領頭羊”。2019 年 10 月底,Google 推出了名為“ Sycamore” 的量子計算機,聲稱實現了 “量子霸權(Quantum Supremacy)”,這臺量子計算機由 54 個量子位的二維陣列組成。“量子霸權” 強調的是量子計算擁有超越所有經典計算機的計算能力。2019 年 9 月 18 日,IBM 在紐約舉行了新量子計算中心的開幕儀式。在開幕儀式上,IBM 宣佈推出了 53 個量子位的量子計算機,這被視作是量子計算的新的里程碑。IBM 認為 “量子優勢(Quantum Advantage)” 才是量子計算的未來,谷歌採用的策略有誤導公眾之嫌。IBM 正透過將量子計算機與雲端計算技術相結合的方式,加速實現所謂的“量子優勢”,推廣量子計算在各行各業中的實際應用。
剛剛過去的不久前,霍尼韋爾 Honeywell 在 6 月 18 日宣佈:已經建造了目前世界上效能最好的量子計算機,量子體積(Quantum Volume)至少為 64 以上,其效能是下一代量子計算機的兩倍,甚至超過了谷歌、IBM 同類產品。是的,你沒看錯,就是我們一直熟悉的造口罩的 Honeywell,他們已經宣佈造出了地球上最強的計算機。Honeywell 是老牌的工業集團,其官方宣佈製造量子計算機的主要目的是為將量子運算納入工業解決方案,為客戶創造顛覆性的應用。
最後,我們以 Google 發表在 Nature 的文章為參考,介紹 Google Sycamore 量子計算機的設計和構成。
論文引用資訊:Frank Arute, Kunal Arya, et al., Quantum supremacy using a programmable superconducting processor, 2019, Nature
論文連結:https://www.nature.com/articles/s41586-019-1666-5#Fig1
20 世紀 80 年代初,理查德 · 費曼提出量子計算機將是解決物理和化學問題的有效工具,因為用經典計算機模擬大型量子系統的成本是指數級的。然而,實現費曼的設想給人們提出了重大的實驗和理論挑戰。首先,量子系統是否可以被設計成在足夠大的計算空間(Hilbert space)中進行計算,並且具有足夠低的錯誤率以提供量子加速?第二,是否能提出一個經典計算機很難但量子計算機很容易解決的問題嗎?在這篇文章中,透過在 Google 的超導量子位處理器上計算一個基準任務,解決了這兩個問題。本文中的實驗實現了量子霸權,這是走向全面量子計算的一個里程碑。
本文證明了量子加速在現實系統中是可以實現的,並且不被任何隱藏的物理定律所排除。量子霸權也預示著噪聲介質量子(noisy intermediatescale quantum,NISQ)技術的時代。本文選擇的基準任務是在生成可證明的隨機數(generating certifiable random numbers)。此外,本文所展示出的這種新計算能力也可以應用於最佳化、機器學習、材料科學和化學等領域。然而,要實現量子計算的全部可能的應用(例如,使用 Shor 的因子分解演算法)仍然需要技術上的飛躍來設計容錯邏輯量子位。
首先,我們簡述一下 Google 在本文中選擇的基準任務。為了證明量子優越性,本文將量子處理器與最先進的經典計算機在對偽隨機量子電路的輸出進行取樣的任務中進行了比較。透過重複應用單量子位和兩個量子位的邏輯運算,設計了一組量子位糾纏電路。對量子電路的輸出進行取樣會產生一組位串,例如{0000101011100,…}。由於量子干涉,位元串的機率分佈類似於鐳射散射中光干涉產生的散斑強度圖,因此某些位元串比其他位元串更容易出現。經典地計算這種機率分佈的方法會隨著量子位數(寬度)和電路門週期數(深度)的增加而變得越來越困難。
本文使用一種稱為交叉熵基準測試(cross-entropy benchmarking)的方法來驗證量子處理器是否正常工作,該方法將實驗觀察每個位元串的頻率與其在經典計算機上透過模擬計算出的相應理想機率進行比較。對於給定的電路,收集測量的位串{席},計算線性交叉熵基準保真度,這是我們測量的位串的模擬機率的平均值:
其中 n 是量子位元的總數,P(xi) 是為理想的量子電路計算的位串 xi 的機率,並且平均值超過了觀察到的位元串。FXEB 和取樣高機率的位元串的頻率相關。當量子電路沒有錯誤的時候,其機率分佈呈指數分佈,而從這個分佈取樣將能夠使得 FXEB = 1。本文目標是設計出具有足夠寬度和深度的電路實現足夠高的 FXEB,這是一個困難的任務,因為我們的邏輯門是不完美的,我們打算建立的量子態對錯誤很敏感。在演算法過程中,單位元或相位翻轉將會完全打亂散斑圖案,並導致接近零保真度。因此,為了實現量子霸權,我們需要一個量子處理器,它以足夠低的錯誤率執行程式。
本文設計了一個名為 “ Sycamore” 的量子處理器,它由 54 個 transmon 量子位組成的二維陣列組成。Transmon 是一種利用以超導狀態工作的約瑟夫森結(JJ)元件的量子位,屬於電容器性質略強的型別。圖 1 為 Sycamore 處理器圖示。a)處理器的佈局,顯示一個由 54 個量子位(灰色)組成的矩形陣列,每個量子位可調耦合到一個矩形格子的四個最近的相鄰接點;b) Sycamore 處理器的照片。Sycamore 的一個關鍵的系統工程進展是實現了高保真度的單量子位和雙量子位操作,這些操作都不是孤立的,且在對多個量子位同時執行門操作的實際計算中也是如此。
圖 1. Sycamore 處理器。
在超導電路中,傳導電子凝聚成宏觀量子態,使得電流和電壓表現為量子力學行為。本文的處理器使用 transmon 量子位,它可以被認為是 5-7ghz 的非線性超導諧振器。量子位被編碼為諧振電路的兩個最低量子本徵態。每個 transmon 狀態都有兩個控制:一個微波驅動器來激勵量子位,一個磁通量控制來調節頻率。每個量子位都連線到一個線性諧振器,用於讀取量子位狀態。如圖 1 所示,每個量子位還使用新的可調節耦合器連線到其相鄰的量子位。我們的耦合器設計允許快速將量子位 - 量子位耦合從完全關停調整到 40 M 赫茲。一個量子位不能正常工作,所以裝置使用 53 個量子位和 86 個耦合器。
處理器是用鋁做金屬化和約瑟夫森結,用銦做兩個矽片之間的凸點鍵。該晶片透過電線連線到超導電路板上,並在稀釋冰箱中冷卻到 20 mK 以下,以將環境熱能降低到遠低於量子位能的水平。處理器透過濾波器和衰減器連線到室溫電子裝置,由其合成控制訊號。透過使用頻率複用技術,可以同時讀取所有量子位的狀態。使用兩級低溫放大器來增強訊號,該訊號是數字化的(在 1 G 赫茲頻率時為 8 位元),並在室溫下透過數字化實現解複用。總共設計了 277 個數模轉換器(14 位,1GHz),用於完全控制量子處理器。
關閉量子位 - 量子位耦合,同時透過驅動與量子位頻率共振的 25 納秒的微波脈衝來執行單量子位門。脈衝經過整形,從而最大程度地避免了過渡到更高的 transmon 狀態。由於兩級系統缺陷,門的效能會隨頻率產生很大的變化,雜散微波模式會與控制線和讀出諧振器相耦合,量殘餘的雜散耦合於量子位元、磁通噪聲和脈衝失真。因此,我們最佳化了單量子位操作頻率,以減輕這些錯誤機制。
偽隨機量子電路產生的門序列如圖 2 所示。該演算法的一個迴圈是在所有的量子位上應用從 {sqrt(X),sqrt(Y),sqrt(W)} 中隨機選擇的單個量子位門,然後在成對的量子位上應用兩個量子位門。構成 “supremacy circuits” 門的序列被設計成最小化產生高糾纏態所需的電路深度,這是計算複雜性和經典硬度所必需的。每個週期包括一個層,每個層有一個和兩個量子位門,應用從 {sqrt(X),sqrt(Y),sqrt(W)} 中隨機選擇的單個量子位門,滿足 W= (X + Y )/ sqrt(2),門不按順序重複,根據平鋪模式選擇兩個量子位門的序列,將每個量子位依次耦合到其四個最近鄰量子位。耦合器被分為四個子集(ABCD),每個子集在與陰影顏色對應的整個陣列中同時執行。這裡展示了一個難處理的序列(repeat ABCDCDAB);還使用了不同的耦合器子集以及一個可以在經典計算機上模擬的簡單序列(repeat EFGHEFGH,未顯示)。
圖 2. 量子霸權電路控制操作 。(a)實驗中使用的量子電路例項;(b)單、雙量子門控制訊號波形。
Google 這篇文章中關於實現量子霸權的電路的詳細實驗和結果對比、計算成本分析等我們在此就不再贅述。對於 Google 披露的相關實驗細節和實驗結果,IBM 頗有微詞。關於這些爭論,本文不做評價,對量子計算機感興趣的讀者可以查閱相關的資料。IBM 所強調的是“量子優勢”,IBM 構建了 IBM Q 計劃,是業界第一個為商業和科學領域構建通用量子計算機的計劃,IBM Q System One 是世界上第一個整合量子計算系統,科學家和研究人員可以利用 IBM Q System One 進行量子演算法的編寫和量子程式碼的執行。IBM 透過 IBM Q 加速實現所謂的“量子優勢”,推廣量子計算在各行各業中的實際應用。
IBM Q計劃連結:https://www.research.ibm.com/quantum-computing/system-one/
到這裡,這篇關於量子計算的 “入門級” 文章就介紹完畢了。回顧整篇文章,我們瞭解和學習了量子計算的各種基本知識:量子位、量子態、量子門、量子線、量子電路等等。理論上,基於這些元素就能夠製造出一個量子計算機。最後,我們也一起了解了 Google 的量子計算機是如何實現的。實際上,量子計算和量子計算機涉及的問題遠不止此,本文沒有涉及任何實際應用方面的問題。量子計算機能夠給我們的生活和工作帶來哪些改變?讓我們一起拭目以待吧!
作者介紹:仵冀穎,工學博士,畢業於北京交通大學,曾分別於香港中文大學和香港科技大學擔任助理研究員和研究助理,現從事電子政務領域資訊化新技術研究工作。主要研究方向為模式識別、計算機視覺,愛好科研,希望能保持學習、不斷進步。