Last
First
個人首頁
帳號設定
登出
關於我們
最新消息
課程學習
興趣探索(測試版)
登入
立即開始
Last
First
個人首頁
帳號設定
登出
會員登入
歡迎進入量子學習的新紀元!
忘記密碼?
或
以 Google 帳號登入
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
新用戶?
立即註冊
,開啟您的量子學習之旅。
量子計算入門(上):從位元到量子位元
・第
17
課
量子電路:量子邏輯閘的實踐
作者:
林昱誠(Yu-Cheng Lin)
閱讀時間:
10
分鐘
# 量子電路 就像經典電腦一樣,在了解位元與邏輯閘後,我們可以組成這些元素來構建邏輯電路進行數學計算。量子電腦也是如此,當我們了解了 qubit 和 quantum gate 後,也可以利用它們來組合電路(稱作量子電路),以解決各種問題。 ## 量子電路 量子電路的畫法與五線譜有些相似。閱讀量子電路時,要從上往下,由左而右閱讀:
量子電路的樣貌,閱讀時從上到下(量子位元),從左到右(量子閘)
從最左邊開始,由上往下,每一條水平線都代表一個 qubit,幾條線代表有幾個 qubits。當需要以 Bra-Ket 記號書寫 qubit 的狀態時,習慣由上到下讀取 qubit 的狀態,再由左而右書寫。以圖中為例,qubit 的初始狀態為 $|100\rangle$。 然後由左而右閱讀,線上每個 gate 代表對 qubit 進行的 gate 操作,從左邊開始,到右邊結束。
畫成流程圖就是長這樣
這種閱讀方式和我們在[數位邏輯電路](https://www.entangletech.tw/lesson/basic-algorithm-03)中學習的非常類似:
由上往下看,這個電路有兩個位元,由左到右,這兩個位元同時經過 XOR 與 AND 閘
接下來,我們會通過幾個例子來練習如何解讀量子電路 ## 實例 ### 範例一
這個電路只有一個 qubit,初始狀態是 $|0\rangle$,先經過 X gate 操作,再進行測量。在解讀的過程中,我們通常在每經過一個 gate 時,就畫一條虛線,並標號當下 qubit 的狀態,像上圖。 接著我們由左而右解析 qubit 當下的狀態 \begin{split} \text{初始狀態: } |\psi_0\rangle&=|0\rangle \\ \text{X gate 操作: }\quad |\psi_1\rangle&=|1\rangle \\ \text{測量: }\quad |\psi_2\rangle&=|1\rangle \\ \end{split} 同樣的電路,擴展到 3 個 qubits:
\begin{split} \text{初始狀態: } |\psi_0\rangle&=|000\rangle \\ \text{X gate 操作: }\quad |\psi_1\rangle&=|010\rangle \\ \text{測量: }\quad |\psi_2\rangle&=|010\rangle \\ \end{split} ### 範例二 這次換你嘗試自己解讀這電路
\begin{split} \text{初始狀態: } |\psi_0\rangle&=|0\rangle \\ \text{H gate 操作: }\quad |\psi_1\rangle&=\frac{1}{\sqrt 2}(|0\rangle+|1\rangle) \end{split} 經過測量後有 50% 的機率得到 $|0\rangle$,50% 的機率是得到$|1\rangle$。 ### 範例三
\begin{split} |\psi_0\rangle&=|00\rangle \\ |\psi_1\rangle&=|01\rangle \\ |\psi_2\rangle&=\frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)\otimes \frac{1}{\sqrt{2}}(|0\rangle-|1\rangle) \\ |\psi_3\rangle&=|01\rangle \\ |\psi_4\rangle&=|01\rangle \\ \end{split} ### 範例四
\begin{split} |\psi_0\rangle&=|000\rangle \\ |\psi_1\rangle&=\frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)\otimes \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)\otimes \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle) \\ |\psi_2\rangle&=\frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)\otimes\{\text{0 or 1}\}\otimes \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle) \\ |\psi_3\rangle&=\frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)\otimes\frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)\otimes |0\rangle \\ \end{split} 最後測量結果中,第一個和第二個 qubit 有可能是 $|0\rangle$ 或是 $|1\rangle$(出現機率各半),第三個 qubit 則一定是 $|0\rangle$。 ### Bell state 下圖這電路,用前面介紹的方法做逐步解讀
\begin{split} |\psi_0\rangle&=|00\rangle \\ |\psi_1\rangle&= \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)\otimes |0\rangle\\ &=\frac{1}{\sqrt 2}(|00\rangle+|10\rangle)\\ |\psi_2\rangle&=\frac{1}{\sqrt 2}(|00\rangle+|11\rangle)=|\Phi^+\rangle\\ \end{split} 測量後,有 50% 的機率觀測到到 $|00\rangle$,另有 50% 的機率觀測到 $|01\rangle$ 再稍微複雜一點的電路:
\begin{split} |\psi_0\rangle&=|00\rangle \\ |\psi_1\rangle&=|01\rangle \\ |\psi_2\rangle&=\frac{1}{\sqrt 2}(|0\rangle+|1\rangle)\otimes |1\rangle\\ &=\frac{1}{\sqrt 2}(|01\rangle+|11\rangle)\\ |\psi_3\rangle&=\frac{1}{\sqrt 2}(|01\rangle+|10\rangle)=|\Psi^+\rangle \end{split} 以上這兩個電路的輸出狀態都是 Bell state。現在輪到你來嘗試,建構電路,組合出以下的量子態: \begin{split} |\Phi^-\rangle=\frac{1}{\sqrt{2}}(|00\rangle-|11\rangle) \end{split}
\begin{split} |\Psi^-\rangle=\frac{1}{\sqrt{2}}(|01\rangle-|10\rangle) \end{split}
## 量子加法器 前面我們知道如何用數位邏輯閘建構一個簡單的加法器(半加法器):
這個電路能做到這樣的計算 \begin{array}{|c|c|} \hline \text{Input} & \text{Output} \\ \hline A\quad B & C \quad S \\ \hline 0\quad 0 & 0\quad 0\\ \hline 0\quad 1 & 0\quad 1\\ \hline 1\quad 0 & 0\quad 1\\ \hline 1\quad 1 & 1\quad 0\\ \hline \end{array} 該如何用量子邏輯閘做到一樣的事情呢?不難看出這真值表與 CNOT gate 的運作方式是一模一樣:
其中 controlled qubit 對應到數位電路的 A,target qubit 對應到 B,經過 CNOT 操作後,controlled qubit 輸出對應到 C,target qubit 則為 S。 ## 總結 恭喜你完成這 17 堂課,從經典電腦的位元和邏輯閘,到量子電腦的量子位元和量子邏輯閘,你已經學會了如何組合這些元素來構建量子電路。在下一個系列課程中,我們將帶著你用量子電路建構出複雜的演算法,稱作量子演算法,並利用量子演算法解決實際上我們遇到的問題,敬請期待!
用 Pennylane 建立量子電路
pennylane
4
Colab 與 Jupyter 介面介紹
pennylane
3
安裝 Pennylane
pennylane
2
Deutsch-Jozsa 演算法(下)
algorithm
5
Deutsch-Jozsa 演算法(上)
algorithm
4
量子演算法總覽
algorithm
1
Deutsch 演算法(下)
algorithm
3
Deutsch 演算法(上)
algorithm
2
量子計算概覽:當電腦遇上量子世界
basic-algorithm
1
自學資源與路線:入門量子計算的第一步
basic-algorithm
2
量子電路:量子邏輯閘的實踐
basic-algorithm
17
測量:讀取計算結果
basic-algorithm
16
量子邏輯閘(下):量子邏輯閘的特性
basic-algorithm
15
量子邏輯閘(中):多個量子位元的操作
basic-algorithm
14
量子位元 (下):量子糾纏
basic-algorithm
13
量子位元(中):多個量子位元
basic-algorithm
12
布洛赫球面 (下):解讀量子邏輯閘的運作
basic-algorithm
11
布洛赫球面(上):量子位元可視化
basic-algorithm
10
量子邏輯閘(上):單一量子位元操作
basic-algorithm
9
量子位元(上):量子計算的基本單位
basic-algorithm
8
重視經典電腦:過渡到量子電腦
basic-algorithm
7
Pennylane 簡介
pennylane
1
演算法複雜度
basic-algorithm
6
經典邏輯閘(下):邏輯閘的特性
basic-algorithm
5
經典邏輯閘(上):電腦運算的基礎
basic-algorithm
4
電腦的世界只有 0 與 1:二進位表示法
basic-algorithm
3
量子硬體總覽
hardware-general
1
第三題:Many-Body Quantum Dynamics
ibm-2023-spring
3
第二題:Quantum Random Walks and Localization
ibm-2023-spring
2
第一題:Trotterization
ibm-2023-spring
1
如何綜合評估量子電腦的表現
hardware-general
10
Qubit 狀態的壽命(相干時間):T2
hardware-general
9
Qubit 狀態的壽命(相干時間):T1
hardware-general
8
保真度(Fidelity):衡量量子邏輯閘的指標
hardware-general
7
附錄 C:絕熱通道
hardware-general
13
如何操作 Qubit:絕熱通道(Adiabetic passage)
hardware-general
6
附錄 B:拉比震盪
hardware-general
12
如何操作 Qubit:拉比震盪(Rabi Oscillation)
hardware-general
5
附錄 A:雙態系統
hardware-general
11
Deutsch 演算法
basic-algorithm
18
雙態系統(Two Level System):Qubit 的基礎
hardware-general
4
DiVincenzo Criteria:量子電腦的五大標準
hardware-general
3
自學資源與路線:入門量子電腦硬體的第一步
hardware-general
2
課程撰寫中
s
1
特徵向量和特徵值(eigenvector and eigenvalue)
linear-algebra
9
量子計算中的特殊矩陣
linear-algebra
8
張量積(Tensor product)
linear-algebra
7
Orthonormal Bases
linear-algebra
6
正交(Orthogonality)
linear-algebra
5
基(Basis)
linear-algebra
4
數學基礎:量子計算的起點
linear-algebra
2
量子計算的數學之鑰:線性代數入門
linear-algebra
1
什麼是量子電腦?
quantum-computer-basics
1
量子電腦如何改變世界
quantum-computer-basics
2
進入量子世界
quantum-computer-basics
4
量子糾纏
quantum-computer-basics
6
疊加態
quantum-computer-basics
5
電腦怎麼做計算
quantum-computer-basics
3
如何實現量子電腦
quantum-computer-basics
7
量子電腦現況與未來
quantum-computer-basics
9
狄拉克(Dirac)表示法
linear-algebra
3
自學資源與路線
quantum-computer-basics
8
上ㄧ課
#上一課課程名稱
下ㄧ課
#下一課課程名稱
課程目錄