Skip to content

量子計算基礎 - 從單量子位到多量子位系統

大一下去修了一門量子計算的課,前面的概念跟線性代數有滿多相似的地方,後半部分才真正開始講量子演算法。

量子計算基礎簡介 ​

量子電腦與傳統電腦的差別,在於傳統電腦儲存資訊的最小單位是位元(bit),量子電腦則是使用量子位元(qubit)。位元可以存在一種狀態,1 或是 0。量子位元特別的地方是,它在一個時間,可以同時是 1 也是 0。

bit vs qubit

量子在通訊上有很高的安全性,利用量子力學原理,能夠在兩方之間安全地分發加密密鑰。任何試圖竊聽的行為都會擾亂量子態,被接收方檢測到。

quantum application

過去超大整數的質因數分解,即使傳統超級電腦的運算能力也無法在短時間破解。不過,量子演算法(Shor's Algorithm,可解質因數分解)能在合理時間內完成破解,會顛覆現在 RSA 等加密算法。

Classical v.s. Quantum ​

拆解質數 ​

現在有個數字 ,由 兩個很大的質數構成。破解 RSA 的核心,就是從 找出 和 。

想要找到 的因數,只要不斷給定 ,透過 Euclid's Algorithm(歐幾里得演算法,又稱輾轉相除法)快速計算判斷,當 使得公因數 時,對於 RSA 來說就已經結束了。

但要找到 可以滿足上述條件其實並不容易,事實上真的只能一個一個猜 是多少。不過,我們可以將這個隨機猜測的數字 轉換成很有可能滿足條件的 。

為什麼是 ?

若給定兩個數 ,且 ,則存在一個正整數 使得 ,其中 為某個整數(根據歐拉定理)。

舉兩個例子來說:

Ex1

給定 ,則:

Ex2

給定 ,則:

因此,

將機會不大的數字 g 轉換成很有可能的 ,只要找到這樣的就好(要是偶數才能真正拆解喔!)

Classical ​

我們用個例子來想,要用傳統電腦找到一個 使得 ,可能會從 開始一個一個慢慢代入判斷,但如果現在給定 的 和 都很大呢?

對傳統電腦來說,就真的只能一個一個數字慢慢算,直到找到答案為止,這也就是為什麼現在能夠這麼廣泛地使用 RSA 加密。但是對量子電腦來說就不太一樣了……

Quantum ​

用量子來計算的好處是因為有疊加態(superposition)。

我們可以構建一個 的函數。若要計算 各自的函數值,對於傳統電腦來說,就是一個一個代入計算:

但在量子的世界,可以讓一個或多個量子位元處於疊加態:

然後將這個疊加態輸入設計好的 邏輯閘做平行運算,得到:


到這邊還需要先知道另一個 Shor's Algorithm 的核心概念。一樣目標是找到滿足條件的 。如果現在隨便找的一個 ,會得到 ,其中 是餘數,那麼很容易證明 也成立。

換句話說,對於某個週期 , 模 的餘數會重複出現:

這個「週期性」就是 Shor's Algorithm 能有效率分解質因數的關鍵。只要能找到這個週期 ,就能透過 Quantum Fourier Transform(量子傅立葉變換)進一步拆解 。

quantum fourier transform


前面提到,在量子的世界中,我們可以構建量子閘,讓所有輸入 的餘數 同時被計算出來:

這表示,當量子位元處於疊加態時,經過適當設計的量子閘後,所有 對應的 都會同時存在於量子態中。

quantum shor process

從這些餘數當中,任取一個 ,可以經由適當的轉換,將其餘的 都變成 。最後透過 Fourier Transform 找出的 和 ,就可以利用前面提過的傳統方式,判斷 是否與 有公因數,將 拆解開來。


標準的 2048 位元 RSA 加密,就算用目前世界上最強的超級電腦(太湖之光,中國製),花費地球年齡的時間(46 億年)都無法破解。

如果量子電腦真的存在,能將運算時間由數十億年縮減為幾分、幾秒鐘,數字 都能快速被拆解成 兩個質數,現在的金融、通訊等都會受到嚴重的影響。但是現在還不需要擔心,因為目前的技術還沒辦法處理太多位元的數字,可能只能拆解 這種容易的而已。


單量子位系統 (Single-Qubit Quantum Systems) ​

在量子計算中,量子位元 (Qubit) 是最基本的資訊單位,類似於傳統計算中的位元 (Bit)。然而,與傳統位元只能處於 0 或 1 的狀態不同,量子位元可以同時處於 0 和 1 的疊加態。先來介紹一下量子計算所處於的空間定義:

Hilbert 空間 (Hilbert Space) ​

對於單量子位元系統,Hilbert 空間是一個複數 中的 inner product space,有向量加法、純量乘法,以及計算向量之間的內積。

If , , then .

在單量子位元系統當中,我們常用, 當作標準基底,而一個量子位元則可表示為 。

至於維度 (Dimension) 為 的向量空間,則會以 當作標準基底,也可以寫成 。

  • 正規化 (Normalized):
  • 正交 (Orthogoral):

因此:

Note:單量子位元系統的 Hilbert 空間是一個 的簡單空間,而複數量子位元系統的 Hilbert 空間維度會隨著量子位元數量增加而指數成長,例如 個量子位元系統的 Hilbert 空間維度為 。

範例 ​

我們拿一個例子來說明好了,假設 , ,那麼可以做下列這幾個運算:

對偶向量 (Dual Vector) ​

內積 (Inner Product) ​

因此:

  • (non-negative real)

向量範數 (Norm) ​

正規化向量 (Normalized Vector) ​

量子態必須是正規化的,以保證測量結果的機率總和為 1。

例如:

計算內積:

投影運算子 (Projection Operator) ​

此時算出的 和 就分別是 在 和 兩個基底的投影運算子。

崩塌 (Collapse) ​

我們前面說過, 是由維的基底所組成的。其中 在 出現的機率為 ,則。

在 當中, 出現的機率取決於 ,而此時的觀測是不可逆的。當測量完成後,量子態會崩塌到對應的基底態 ,並且無法回復到原本的疊加態。因此測量過程不可逆,且量子態的疊加性在測量後不復存在。

Quantum Measurement Single

範例 ​

  • 在 出現的機率為

  • 在 出現的機率為

量子態 (Quantum State): ​

經典態 (Classical State): ​

量子態在測量後會崩塌到某個基底態,而此時的經典態不再具有量子態的疊加性。

Bloch 球 (Bloch Sphere) ​

Bloch 球用於表示單量子位的狀態:

Bloch Sphere

Bloch 球上的 I, X, Y, Z 運算子幾何意義 ​

  • I (單位運算子):不改變 Bloch 球上的狀態(即不旋轉)。
  • X 門(Pauli-X):繞 軸旋轉 弧度(180°),將 和 互換。對應於 Bloch 球上的 軸翻轉。
  • Y 門(Pauli-Y):繞 軸旋轉 弧度(180°),將 和 互換,並帶有相位。對應於 Bloch 球上的 軸翻轉。
  • Z 門(Pauli-Z):繞 軸旋轉 弧度(180°),將 和 互換, 不變, 變號。對應於 Bloch 球上的 軸翻轉。

簡單來說,X, Y, Z 分別對應於 Bloch 球上繞 、、 軸的 180° 旋轉。


多量子位系統 (Multiple-Qubit Systems) ​

Hilbert 空間與張量積 (Tensor Product) ​

多量子位系統的 Hilbert 空間是單量子位空間的張量積:

假設:

  • 第 0 個 :
  • 第 1 個 :

Tensor Product ​

而此時:

為 的基底

範例 ​

假設:

  • 第 0 個 :, , operator
  • 第 1 個 :, , operator

計算張量積:

運算子與單元矩陣 ​

在多量子位系統中,運算子 和單位運算子 的結合可以用來描述量子態的演化。假設 和 是作用於不同量子位的運算子,若它們相等,即 ,則可以簡化為單一運算子 的作用。

單位運算子 的作用不會改變量子態,滿足以下關係:

其中,單位運算子 的矩陣形式為:

當運算子 作用於單一量子位的量子態時,可以表示為:

而當運算子 與單位運算子 結合,作用於多量子位系統的張量積態時,則可以表示為:

單位運算子:

單元矩陣 (Unitary Matrix) ​

假設 :

則可發現

Note:共軛轉置 (conjugate)

是 Unitary Matrix


量子門與狀態轉換 (Quantum Gates and State Transformations) ​

常見量子門 ​

的基本運算子為

基本運算子 - X (NOT) ​

其中:

基本運算子 - Y ​

其中:

是單元矩陣

基本運算子 - Z ​

糾纏態與測量 ​

在中,

Bell State (貝爾態) ​

Bell State 是兩個 qubit 之間最純粹的糾纏態。

假設:

則它們的張量積

如果 ,則為 可分離態;否則為 糾纏態 (entanglement)。

糾纏測量 ​

例如:

Entangled Measurement

此時去做量子測量:

  • 第 1 個質點測量到 ,則第 0 個質點就確定為
  • 第 1 個質點測量到 ,則第 0 個質點就確定為

Quantum Measurement Multiple

逆向計算 (Reverse Computation) ​

CNOT (Control NOT) ​

CNOT 門的運作如下:

CNOT Gate

CNOT 性質:

舉個例子:

Example 1Example 2

這是所有計算中最重要的一個運算門,並且可以延伸出 COPY、NOT 和 SWAP 三種操作:

COPYNOTSWAP
COPY GateNOT GateSWAP Gate (Using CNOT)

CCNOT (Toffoli Gate) ​

CCNOT 門的運作如下:

CCNOT Gate

CCNOT 性質:

CCNOT Reversibility

邏輯運算門 ​

AND ​

AND 的運作如下:

AND Gate

XOR ​

XOR 的運作如下:

XOR Gate

NAND (NOT AND) ​

NAND 的運作如下:

NAND Gate

NOT ​

NOT 也可以用 CNOT 的形式來表示:

NOT Gate

OR ​

OR 的運作如下:

OR Gate

範例 ​

以下是量子電路的等價性:

Quantum Circuit Equivalence


量子傳輸 ​

量子演算法 ​

Bernstein-Vazirani Algorithm ​

Simon's Algorithm ​

Shor's Algorithm ​

Grover's Algorithm ​

References ​