• 沒有找到結果。

Qiskit 環境中的量子電路

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

Chapter 1

量子計算工具簡介

近年量子電腦的發展引起了各界的廣泛關注,又因其本身即量子力學為基礎 的架構,理應於計算量子問題上比起古典電腦更具潛力及優勢。惟因量子位元的 數目及雜訊等問題,現階段量子電腦尚遠離成熟階段。本論文將利用雲端 IBM-Q 量子電腦及其搭配的古典模擬器檢驗量子自旋鏈的基態性質,包含量子相變及淬 火動力學,藉以初探 IBM-Q 量子電腦的性能。

1.1 量子電腦

自從著名物理學家費曼在 1980 年代初的演講中 [1] 提出量子電腦的優勢後過 了數十餘年,量子電腦技術的研發也終於漸獲業界及政府科技預算的投入,從 D-Wave、IBM 到 Google 在與學術界緊密合作下陸續推出號稱具實用性的量子計 算器。此外,一系列支援量子計算的軟體,如 Microsoft 開發的 Q# [2],Google 的 Cirq [3] 及 IBM 的 Qiskit [4],也相繼推出。

本論文利用 IBM 公司提供的雲端量子電腦服務 IBM-Q 及支援的 Qiskit 軟體 套件來進行模擬。現時間點 IBM 量子電腦已擁有 53 個量子位元運算能力。

1.2 Qiskit 環境中的量子電路

Qiskit 是 IBM 於 2017 年為使量子電腦實驗更容易進行而釋出的 Python 套件 庫 [4],它提供了從基礎的量子電路建構到進階的演算法。Qiskit 分四個組件,分

別以古代四元素命名為 Terra,Aer,Aqua 及 Ignis (即土、風、水、火)。其中 Terra 組件提供量子計算基本的電路元件;Aer 組件提供用於傳統電腦的量子模 擬;Aqua 組件提供一系列的量子演算法,供使用者無需具備深入的量子計算理論 來作高階應用;Ignis 組件則提供減少雜訊及處理誤差的工具。

在我們的實驗中將使用 Terra 來建構量子電路,並利用 Aqua 中的 VQE 演算 法求量子自旋鏈的基態。另外我們使用 Aer 底下的模擬器 QASM Simulator 來模 擬量子電腦的運作及量測方式,結果可與代數運算的模擬器 Statevector Simulator 比較。 量子閘(quantum gates)作用於其上,便構成一量子電路。量子閘即為么正算符

(unitary operator),可作用於一個或多個量子位元上。表格 1.1(Table 1.1)列出 一些常用基礎量子閘之符號及其對應的矩陣,包含單量子位元閘及雙量子位元閘;

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

為涵蓋三個相位參數的 U3(θ, ϕ, λ) 閘:

U3(θ, ϕ, λ) =

cos(θ2) −esin(θ2) esin(θ2) eiλ+iϕcos(θ2)

.

藉調整 θ, ϕ, λ 三參數,U3 閘可實現所有的單量子位元閘。例如,

X = U3(π, 0, π) , Y = U3(π, π/2, π/2) ,

Z = U3(0, 0, π) , H = U3(π/2, 0, π) .

上述單量子位元閘在 Qiskit 下均可直接運用,以 U3(π/2, π/2, π/2) 閘為例:

1 q = QuantumRegister(1) 2 qc = QuantumCircuit(q) 3 qc.u3(pi/2 ,pi/2 ,pi/2 ,q)

程式碼中的 q 為一量子位元 |0⟩ = (10

),建構中的量子電路 qc 先將此量子位元

置入電路中,然後以 qc.u3(pi/2,pi/2,pi/2,q) 指令將 U3(π/2, π/2, π/2) 作用 於 q 上。

雙量子位元閘中我們主要應用到所謂的 CNOT 閘(controlled-NOT gate),以 CX 表示,其作用就是在第一個位元(控制位元)為 |1⟩ 的唯一情形下翻轉第二個 量子位元(目標位元),也就是

|00⟩ −−→

CX |00⟩ ,

|01⟩ −−→

CX |01⟩ ,

|10⟩ −−→

CX

|11⟩ ,

|11⟩ −−→

CX

|10⟩ .

(1.3)

另一種解釋 CNOT 閘的方法為在第一個量子位元為 |1⟩ 時作用 X 閘於第二量子

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

位元,故又稱為:受控-X 閘(controlled-X), 且 CNOT 閘矩陣右下角的 2× 2 矩 陣元素即為 X 閘矩陣(見表 1.1)。同樣地,也定義了受控-Y 閘(controlled-Y,

CY)及受控-Z 閘(controlled-Z,CZ)。CNOT 閘是目前 IBM 量子電腦中唯一 可直接運作的雙量子位元閘;理論上,任意 N 量子位元閘可藉由 CNOT 閘及 U3 閘來實現 [5]。例如,CZ 閘可利用一 CNOT 閘及兩個作用在第二量子位元的 H-閘(也就是 U3(π/2, 0, π))透過關係式

H(target)CXH(target) = CZ, (1.4)

來實現,式中 H(target) 代表作用於目標位元的哈達馬閘。

關於多量子位元狀態,CNOT 閘常用以連結兩個量子位元,使其成為糾纏態

(entangled state),底下為利用 CNOT 閘產生一對糾纏態的 Qiskit 的程式碼範 例:

1 q = QuantumRegister(2) 2 qc = QuantumCircuit(q)

3 qc.h(q[0]) # Apply H gate to the first qubit 4 qc.cx(q[0] ,q[1]) # Apply CNOT gate

對應的電路圖如下:

|0⟩ H

|0⟩

起初電路引入兩個處於 |0⟩ 的量子位元,將 H 閘作用於第一個位元使其狀態轉換|+⟩(見式 (1.2)),兩位元狀態成為:

1

2(|0⟩ + |1⟩) ⊗ |0⟩ = 1

2(|00⟩ + |10⟩) ,

再經由 CNOT 閘作用於兩個位元後,根據式 (1.3) 的法則,兩位元狀態成為一所 謂的 Bell 態:

1

2(|00⟩ + |11⟩) . (1.5)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

此狀態無法如 (1.2) 拆解成兩位元狀態的張量積態(tensor product state),故為 一糾纏態。另一個 Bell 態為兩量子位元單態 (two-qubit singlet state),

1

2(|01⟩ − |10⟩) , (1.6) 其在電路中可如下建構:

|0⟩ X H

|0⟩ X

1 2 3

電路中兩個量子位元的起始態為張量積態 |00⟩,各自受 X 閘的作用翻轉為 |11⟩

(虛線 1 處的狀態),接著第一個位元經過哈達馬閘作用,轉成庖立 X 的基向量

(式 (1.3)),故虛線 2 處的兩位元態為

1

2(|0⟩ − |1⟩) ⊗ |1⟩ = 1

2(|01⟩ − |11⟩)

再經過 CNOT 閘便得到具糾纏性的單態(虛線 3 處的狀態)。

量子電路的最後一部份就是對量子位元投射到 |0⟩ 及 |1⟩ 進行量測,並將量測 結果儲存至古典位元。以單量子位元為例,假設其量子態為|ψ⟩ = α |0⟩ + β |1⟩,

此量子位元被測量到處於|0⟩ 或 |1⟩ 的機率為分別為 |α|2|β|2。經由多次重複整 個量子電路的流程,最終便得到實驗結果。上述流程以測量|+⟩ 為例的 Qiskit 程 式碼如下:

1 q = QuantumRegister(1) 2 c = ClassicalRegister(1) 3 qc = QuantumCircuit(q,c) 4 qc.h(q)

5 qc.measure(q,c)

6 backend = Aer.get_backend(’ qasm_simulator ’) 7 job=execute(qc, backend, shots=2048)

8 result = job.result()

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

9 hist = result.get_counts() 10 print(hist)

對應的電路圖如下:

0/1

|0⟩ H c

程式碼第 2 行 c = ClassicalRegister(1) 引入一古典位元至電路中,用以儲 存測量結果。第 6 行 qasm_simulator 指定後端處理為 Aer 的模擬器 QASM Simulator,模擬將在近端使用的電腦上進行。QASM Simulator 為一(可引入雜 訊)的量子電路模擬器,模仿量子電腦的環境,用以執行建構好的量子電路,

並傳回測量值的次數。第 7 行藉由 shots 設定測量次數為 2048 次,測量結果 可顯示 |0⟩ 及 |1⟩ 分別出現的次數。針對考慮的量子態,機率當然各為 1/2,不 過有限次數的實驗結果,最後一行列出的結果將例如呈現:{’0’: 1012, ’1’:

1036},代表此次實驗測量獲得|0⟩ 次數為 1012 次,|1⟩ 次數為 1036 次,約 0.502 對 0.498 的機率比。

對於多量子位元狀態,我們使用 QASM Simulator 時需要同樣多的古典位元作 測量。以雙量子位元單態 (1.6) 為例,我們建構以下的電路圖作測量:

|0⟩ X H

|0⟩ X c0 c1

多次模擬結果將例如顯示:{’01’: 1034, ’10’: 1014}。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

Chapter 2 問題及方法

量子易辛(Ising)自旋鏈為探討量子相變及其他許多量子多體性質之標準模 型。隨著可使用的量子位元的擴充,量子電腦有望漸成為探測量子多體物理之多 樣現象的可靠工具。本章節將首先介紹量子易辛自旋鏈,接著介紹本論文利用 Qiskit 探討自旋鏈基態性質之方法。

2.1 量子易辛(Ising)自旋鏈

本 論 文 探 討 的 模 型 為 在 外 加 橫 向 及 縱 向 磁 場 下 的 易 辛 自 旋 鏈, 其 哈 密 頓 (Hamiltonian) 算符如下:

H = Jˆ

N j=1

ˆ

σjzσˆzj+1− hz

N j=1

ˆ σzj − hx

N j=1

ˆ

σjx (2.1)

J 為相鄰自旋與自旋間的鍵結強度,J < 0 及 J > 0 分別代表鐵磁鍵結與反鐵磁 鍵結。hx 為垂直自旋 z 軸(易辛軸)的橫場;而 hz 則是平行自旋 z 軸的縱場。

ˆ

σx、ˆσz 為 x、z 方向的庖立矩陣(Pauli matrices)。下標 j 代表模型晶格點位置,

我們引入週期邊界條件 ( periodic boundary condition ):ˆσN +1= ˆσ1

我們考慮絕對零度(T = 0)基態性質。鐵磁鏈(J < 0)在無縱場(hz = 0)

情形下,存在一臨界點(critical point)劃分弱橫場的有序鐵磁態及強橫場的無序 順磁態;此臨界點位於 hx/|J| = 1 處。因 hz = 0,可以 12(|000 · · · ⟩ + |111 · · · ⟩) 描述弱橫場下完美的自發性量子鐵磁態。橫場為一量子擾動項,在橫場強度逐漸

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

(a) 鐵磁鏈相圖 (b) 反鐵磁鏈相圖

Figure 2.1: 在絕對零度下鐵磁鏈及反鐵磁鏈基態之相圖。

增強至臨界值,基態的有序鐵磁性因自旋的翻轉逐漸消失,自旋鏈基態在強橫場 作用上趨向 |+ + + · · · ⟩ 狀態。在縱場的作用下(hz ̸= 0),鐵磁鏈的臨界點隨即 消失,系統處於順磁態。鐵磁鏈的相圖如圖 2.1a 所示。

反鐵磁鏈的基態相圖更為豐富些,如圖 2.1b 所示。在無縱場情形下(hz = 0),

反鐵磁鏈與鐵磁鏈的基態性質是一樣的:位於 hx/|J| = 1 的臨界點區分弱橫場的 有序反鐵磁態與強橫場的無序順磁態。但在縱場的作用下,反鐵磁態及臨界點仍 可倖存。直至縱場強度大於 hz/J = 2,此時在無橫場的額外干擾下,反鐵磁性亦 完全消失,因為縱場強度足以將所有自旋翻轉至縱場方向。(hx/J = 0, hz/J = 2) 為一古典相變點(因無造成量子擾動的橫場,故稱為古典相變點),劃分零橫場下 的古典反鐵磁態及古典鐵磁態。在 hx-hz 平面相圖區分反鐵磁態及順磁態的臨界 線連結 (hx/J = 1, hz/J = 0) 及 (hx/J = 0, hz/J = 2)。

相關文件