2018年12月1日

淺談量子計算與 Qubit

           自二次世界大戰後電腦逐漸發展,從最早的真空管、到電晶體的發明、積體電路的出現、以及摩爾定律(Moore's law)的預言:「積體電路單位面積可容納的電晶體數目,約每兩年翻倍一次」[1]。然而,受限於物理極限,摩爾定律的終點必然會到來,人們一直在思考能否跳脫傳統電腦的框架,創造一套全新的計算方法——其中之一便是本文將介紹的「量子計算」。

古典計算 vs 量子計算


古典位元 (bit) 與量子位元 (qubit)


           在古典計算中(也就是現在的電腦運算),資訊以一連串的「位元」(bit) 表示,而每個位元可以是 0 或 1 的狀態(如上圖左),並且利用各種不同的邏輯閘進行運算。 而量子計算建立在「量子位元」(qubit) 上,不同於古典位元,量子位元可以處在 $\left|0\right>$(可以想像成古典位元狀態 0)與 $\left|1\right>$(古典位元狀態 1)之間的「疊加態」上,例如 $\frac{1}{\sqrt 2}(\left|0\right>+\left|1\right>)$。為了能更具體的表現出量子位元的狀態,常利用如上圖右的 "Bloch Sphere" :北極點表示 0、南極點表示 1,而此球面上的點就對應到各個可能的狀態。



量子計算的優勢

           如同前面所說,量子位元可以處在疊加態。這能為計算帶來什麼可能的優勢呢?假設現有 $N$ 個古典位元,則這些位元能表示 $2^N$ 個可能狀態的其中一個。但若有 $N$ 個量子位元,前述 $2^N$ 個可能的古典狀態可以同時被表示(也就是狀態的疊加)。而在古典電腦上,每次只能對於某一個狀態進行操作(因為每次也只能表示一個);然而在量子電腦中,先製備好某些狀態的疊加態,對此狀態操作時相當於同時對每個「成分」都有影響。在一系列操作後,要對最後的狀態進行測量,如同前篇文章提到,測量會使疊加態隨機變回某些特定狀態。總而言之,量子計算具有比古典計算有(指數級)更大的狀態數,也因此有更大的「平行性」。

           對於特定問題,要如何設計該取用怎樣的狀態、進行哪些操作、甚至還要進行一系列結果具隨機性的測量,才有辦法從最終的結果中得到原本問題的解呢?(而且還必須相對於古典電腦是一個更快的演算法)這就需要非常精巧的設計了。在往後的文章中,會介紹一些有名的量子演算法,例如 Deutsch-Josza Algorithm、Quantum Fourier Transform、Shor's Algorithm 等等。

Qubit 的條件 

           顯然一般電腦的位元並不能拿來當作 Qubit ,那麼一個好的 Qubit 需要具備什麼條件呢?在參考資料[2] 中提到了五個 Qubit 需要有個五個條件:

  • 可初始化
  • 可測量結果

               這兩個條件相當容易理解,為了要能進行運算,量子位元總是必須能被適當的初始化,並且最後要能被讀出。

  • 可大量製造 (scalable)

               今年 Google 發表了最新的 72 qubit 晶片,根據前段所說,72 個 qubit 應該要有 $2^{72}\approx 4.7\times 10^{21}$ 這麼大的「平行性」了,那為什麼還沒看到「量子電腦稱霸世界」這類聳動的新聞出現呢?因為事實上 qubit 相當的不穩定,其狀態在相當短的時間內就會改變,因此需要有相當好的量子偵錯技術 (quantum error correction),才能使量子電腦實際解決古典電腦無法處理的問題。為了要讓一個 qubit 正常運作,就需要數百至數千個 qubit 用作偵錯——現有的 72 個 qubit 看起來還十分不足。也因此,可大量製造是 qubit 一個重要的要求。

  • 同調時間長 (Long coherence time)

               此條件稍微不那麼直觀:「同調時間」指的是一個 qubit 會開始「失真」,也就是狀態會因為環境雜訊漸漸改變所需要的時間,因此同調時間越長表示 qubit 越不容易受到外界的干擾。這對於進行運算是重要的,若是同調時間不夠長,在運算還沒結束時 qubit 就已經走樣了,自然無法給出正確的結果。

  • 可操作邏輯閘

               最後一個條件表示要能夠對 qubit 進行操作,將來會對於量子邏輯閘有更詳細的介紹,可以證明所有的操作都能分解成特定邏輯閘的組合,也就是說 qubit 至少必須能操作這些邏輯閘,才有辦法實現各種操作。

               然而,這幾個條件並不容易同時達成,舉例來說,「初始化」與「可測量結果」和「同調時間長」有所衝突。因為一個不容易和外界交互作用的系統會有較長的同調時間,但同時也造成了操控上的困難(操作者也是「外界」的一部分)。下段將介紹現在幾個在發展的 qubit 實現方法,並簡單提到各自在這五個條件上遇到的困難。

Qubit 的實現

           講了關於 qubit 的優勢、條件等等之後,那麼到底應該如何實現 qubit 呢?下面將介紹幾個方法,包括離子井、超導體、與半導體。

離子井 (Trapped-ions)


離子井示意圖 [3]

           Trapped-ions 顧名思義指有離子(例如 Yb+)被懸浮在真空中,並利用離子兩個不同的能階作為 qubit 的兩個狀態。因為在超高真空的環境下,離子井的同調時間是最長的(可達數分鐘),並且可利用光學方法對單個離子狀態做出相當精準的控制。

           然而,缺點是 qubit 之間的交互作用較弱,導致操作某些「雙位元操作」耗時較久。此外,因為離子是相鄰數微米的線狀排列,當 qubit 數上升時會讓整個系統尺寸快速增大而更難以控制。現在主要是 IONQ 公司持續往此方向發展。


超導體


IBM 超導量子電腦 [4]

           超導體利用「約瑟夫森接面」(Josephson junction) 作為 qubit 的基礎,詳細的物理在此就不多談。但這是目前最成功的方法,Google 的 72-qubit 晶片 "Bristlecone"、IBM 的 50-qubit 晶片 "IBM Q 50 prototype"、Intel 的 49-qubit 晶片 "Tangle Lake" 都是以超導量子位元實現的。因為使用超導體,需要冷卻到數 mK 的低溫才能運作,上圖顯示即 IBM 的實驗裝置,事實上圖中一大部分都是冷卻裝置。而 Google 的晶片為平面結構,顯示了尺寸優於線性成長的可能性。但相對於離子井,超導 qubit 的同調時間就短得多,大約在數毫秒的數量級。如前提到,許多公司都往超導發展,例如 Google、IBM 、Intel、Rigetti 等等。


半導體

量子點自旋 qubit 示意圖 [5]

           最後要介紹的是利用半導體上的「量子點電子自旋」(Electron spin in quantum dot) 作為 qubit ,亦即利用半導體(矽基板)上量子點中的電子自旋作為位元,並且用製造於半導體上的電極控制 qubit。此方法最大的好處是現在半導體製程相當先進,若要大規模生產會容易許多。然而,矽基板是一個很「髒」的環境:除了作為 qubit 的量子點之外,基板的矽原子核也帶有核自旋,而這對於量子點會有很大的干擾。也因此這種方法有同調時間短、某些操作可靠性(fidelity)不高等問題。目前尚未有以此方法實現的晶片,大都還停留在一兩顆 qubit 的實驗階段。但因為其可大量製造的潛力,目前 Intel 也有朝此方向發展。


           除了上述方法之外,還有許多不同的實現方式,例如 D-wave 的「絕熱量子計算」、Microsoft 一直在研究的「拓樸量子計算」、光子量子計算等等。各種方法都有其優劣,而且仍然持續發展中,過幾十年後的量子計算會是什麼樣貌呢? 敬請期待(?)



參考資料

[1] Moore, Gordon. "Progress in Digital Integrated Electronics" IEEE, IEDM Tech Digest (1975)
[2] D.DiVincenzo, "The Physics Implementation of Quantum Computation", Fortschritte der Physik. 48, 771-783 (2000)
[3] C. Monroe, J. Kim, "Scaling the Ion Trap Quantum Processor", Science vol 339, no. 6124, pp. 1164-1169 (2013)
[4] https://www.ibm.com/blogs/research/2018/01/quantum-prizes/
[5] https://en.wikipedia.org/wiki/Lateral_quantum_dot

沒有留言:

張貼留言