跳到主要內容區塊

ntuccepaper2019

技術論壇

【量子系列】量子科技簡介_量子電路簡介及設計(三)
  • 卷期:v0066
  • 出版日期:2023-09-20

作者:張晏瑞 / 臺灣大學IBM量子電腦中心研究助理


在傳統的計算中,我們使用位元(bits)作為資料的基本單位,每個位元可以是0或1。但在量子計算中,基本單位是量子位元(qubits),它可以同時處於0、1或這兩者的疊加狀態。量子科技的核心是利用量子力學的原理,如疊加、糾纏和量子干涉,來實現比傳統技術更先進、更快速的計算、通訊和測量方法。量子電路是量子計算中的核心,它利用量子邏輯閘對量子位元進行操作,實現強大的量子算法。設計有效的量子電路需要對量子力學、量子邏輯閘和量子算法有深入的理解,此文將會說明如何建立量子電路來達到量子計算優勢。

 

量子科技與量子邏輯閘的奇特作用

量子電路是量子計算中的一個核心概念,代表著一系列的量子操作,即量子邏輯閘的有序應用,用於對量子位元(qubits)進行操作和轉換。量子邏輯閘在量子計算中起到關鍵的作用。就像在傳統計算中,我們使用邏輯閘(如AND、OR和NOT)來操縱和控制bit,量子邏輯閘也是操縱和控制qubit的工具。然而,量子邏輯閘的真正力量並不只是在操縱qubits,而是它們如何能夠組合和相互作用來產生強大的量子算法。

量子位元

量子位元或稱qubit是量子計算的基本單位。不同於傳統的二進制位元,量子位元可以存在於0和1之間的疊加狀態。這意味著一個量子位元同時可以表示0和1,這種特性使得量子計算機在進行某些運算時比傳統計算更有優勢。

量子位元的狀態\(|\left.\ \psi\right\rangle\)可以被描述為其狀態0和1(數學表示:\(|\left.\ 0\right\rangle\)和 \(|\left.\ 1\right\rangle\)的線性組合:\(\left|\left.\ \psi\right\rangle=a\right|\left.\ 0\right\rangle+b|\left.\ 1\right\rangle\),其中a、b稱為機率震幅,\(\left|a\right|^2\)表示出現在0的機率,\(\left|b\right|^2\)表示出現在1的機率,且\(\left|a\right|^2+\left|b\right|^2=1\)。因此量子態\(\left|\left.\ \psi\right\rangle=\cos{\frac{\theta}{2}|\left.\ 0\right\rangle}+e^{i\phi}\sin{\frac{\theta}{2}}\right|\left.\ 1\right\rangle\),其中\(0\le\varphi\le2\pi,\ \ 0\le\theta\le\pi\)。

 

20230920_006609_01

 

圖表1 Bloch 球面

 

這種表示量子位元狀態的方式稱為它的Bloch表示法,且這個狀態可以被視為一個稱為Bloch球體的球面上的點。量子計算的過程可以被視覺化為在Bloch球上操作角度。我們提醒讀者不要認為量子位元始終具有這種簡單的幾何表示,因為當您有多於一個量子位元時,這種表示會失效。儘管如此,對於單量子邏輯閘,它仍是一個便利的工具,用以發展直覺。

量子邏輯閘簡介

正如在傳統計算中,邏輯閘(如AND、OR、NOT)是基本操作的元件,在量子計算中,我們有量子邏輯閘來執行基本的量子操作。這些量子閘對一或多個量子位元進行操作,對其進行旋轉、疊加或糾纏。
您可能已經猜到了,我們需要能夠將量子位元轉變成其他狀態。為此,我們需要量子閘的概念。單量子位元的量子閘是一個2X2的么正矩陣(UU=I ,因為量子閘必須是可逆的且保持概率振幅)。邏輯閘作用是將初始狀態\(\left.\ |\psi\right\rangle\)轉化為最終狀態\(\left.\ |\psi^\prime\prime\right\rangle=U\left.\ |\psi\right\rangle\),其中U表示對應的邏輯閘,最通用的形式 \(U\left(\theta,\varphi,\lambda\right)=\left(\begin{matrix}cos{\left(\frac{\theta}{2}\right)}&-e^{i\lambda}sin{\left(\frac{\theta}{2}\right)}\\e^{i\lambda}sin{\left(\frac{\theta}{2}\right)}&e^{i\left(\varphi+\lambda\right)}cos{\left(\frac{\theta}{2}\right)}\\\end{matrix}\right)\)在IBM Quantum中,它是通過U3 閘來實現的。

量子邏輯閘是量子計算的基石,它們在量子電路中執行特定的操作,改變量子位元的狀態。以下是一些常見的量子邏輯閘,分為單量子邏輯閘、雙量子邏輯閘和三量子邏輯閘:

單量子邏輯閘:這些閘操作單一的qubit,例如Pauli X、Y、Z閘,和Hadamard閘。它們可以改變qubit的狀態或方向。

  1. X閘:又稱為NOT閘或bit-flip閘,它會翻轉狀態從\(|\left.\ 0\right\rangle\)到\(|\left.\ 1\right\rangle\)或\(|\left.\ 1\right\rangle\)和\(|\left.\ 0\right\rangle\)。也可視為在Bloch球面上,對應於X軸旋轉π。
  2. Z閘:又稱為phase-flip閘,它只對\(|\left.\ 1\right\rangle\)狀態加上一個π的相位。也可視為在Bloch球面上,對應於Z軸旋轉π。
  3. H閘:用於創建量子疊加,把\(|\left.\ 0\right\rangle\)轉換到\(\frac{1}{\sqrt2}(|\left.\ 0\right\rangle+\left|\left.\ 1\right\rangle\right)=|\left.\ +\right\rangle\)及\(|\left.\ 1\right\rangle\)轉換到\(\frac{1}{\sqrt2}(|\left.\ 0\right\rangle-\left|\left.\ 1\right\rangle\right)=|\left.\ -\right\rangle\)
  4. T閘和S閘:兩者都提供量子位元的相位旋轉,其中T閘是π/4的旋轉,而S閘是π/2的旋轉。

 

20230920_006609_02

圖表2 H閘

 

20230920_006609_03

圖表3 X閘

20230920_006609_04

圖表4 Z閘

 

雙量子邏輯閘:這些閘涉及兩個qbits的操作,例如CNOT閘或Controlled-U閘。它們常常被用於建立和操縱糾纏狀態,這是量子計算的一個核心特性。

  1. CNOT閘:又稱為受控NOT閘或受控X閘,它根據一個量子位元(控制位)的狀態來翻轉另一個量子位元(目標位)。
  2. CZ閘:又稱為受控Z閘,它根據控制位的狀態來對目標位加上一個π的相位。
  3. SWAP閘:用於交換兩個量子位元的狀態。

三量子邏輯閘:這些閘涉及三個qbits的操作,如Toffoli閘。它們常常用於更複雜的量子操作,例如錯誤更正碼。

  1. Toffoli閘(CCNOT閘):這是一個受到兩個控制位元影響的X閘。只有當兩個控制位元都處於\(|\left.\ 1\right\rangle\)狀態時,目標位元才會被翻轉。
  2. FREDKIN閘(CSWAP閘):這是一個受控SWAP閘。根據控制位的狀態,它會決定是否交換另外兩個量子位元的狀態。

量子電路設計流程

設計量子電路涉及一系列的步驟,將特定的量子算法或運算轉化為一組量子邏輯閘的操作,並測量最後量子態。以下是設計量子電路的基本流程:

  1. 確定目標:首先,需要確定量子電路完成的特定任務或問題。
  2. 選擇適當的量子算法:對於特定的問題,可能已經有已知的量子算法,如Shor的質因數分解算法、Grover的搜索算法或是qiskit上提供的演算法。
  3. 初始化量子位元
  4. 應用量子閘:單量子位元閘:這些閘作用於單個量子位元,例如 Pauli-X, Y, Z 閘、Hadamard 閘和U3 閘等。多量子位元閘:如 CNOT、Toffoli閘等,它們作用於兩個或更多的量子位元。
  5. 糾纏和量子干涉:利用CNOT閘和其他閘,可以在量子位元之間建立糾纏。此外,將特定的閘組合起來可以創建量子干涉效應,這是量子算法的一個關鍵特性。
  6. 量子位元測量:在算法的結尾,您將需要測量量子位元以獲取結果。這將摧毀疊加狀態,將量子位元塌縮到特定的量子態(0或1)。
  7. 重複與統計:由於量子計算的概率性質,需要多次執行電路並收集統計數據以確定結果的最有可能的答案。
  8. 優化和誤差修正:量子計算通常受到各種誤差的影響,這些誤差可能來自外部環境、計算硬體或計算過程中的不完善。因此,在設計量子電路時,需要考慮如何優化電路以減少這些誤差,或使用錯誤修正技術來修正可能的誤差。
  9. 測試和驗證:完成設計後,應該在實際的量子計算機或模擬器上測試量子電路以確保其正確性。這可以通過比較電路的輸出與預期的結果來完成。

結語

量子邏輯閘的運作建立在量子力學的核心概念之上,使其與傳統的邏輯閘有著本質的區別。這些量子邏輯閘把量子疊加、糾纏等現象轉化為計算上的優勢。透過這些閘,我們獲得了一套強大的工具,可以操作和處理量子資訊,為量子計算打開了新的篇章。雖然深入探索和設計量子電路需要專業的知識,但多虧了如Qiskit等工具和軟件庫,使得初學者也能夠進入這個領域,體驗量子計算的魅力和潛力。

 

參考:https://qiskit.org/