---
# System prepended metadata

title: 08 Single Qubit Quantum Gate
tags: [量子演算法（上）, 基礎教學文章]

---

# 量子邏輯閘（單 Qubit）

在上一節中，我們介紹如何用矩陣描述單一個 qubit 的量子態，與經典電腦相似，我們可以使用邏輯閘改變 qubit 的狀態。在量子計算中，這些邏輯閘稱作「量子閘」（quantum gate 或 quantum logical gate）。在這一節，我們先著重在只能改變一個 qubit 狀態的 quantum gate。

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/H1ffNCuvA.svg" alt="single qubit quantum gate" width="70%"/>
    <br>
    <p>
    </p>
</div>

## 常見的單 qubit 量子閘（single qubit quantum gate）
### Identity gate（I gate）

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/BJuEmY4hC.svg" 
         alt="I gate" width="40%"/>
    <br>
    <p>I gate 的符號
    </p>
</div>

I gate 使用符號 $I$ 表示，類似經典電腦中的 identity gate，輸入什麼就輸出什麼：

\begin{split}
I|0\rangle=|0\rangle \\
I|1\rangle=|1\rangle
\end{split}

以矩陣表示

\begin{split}
I=
\begin{bmatrix}
1 & 0\\
0 & 1
\end{bmatrix}
\end{split}

可以做個簡單的驗證

\begin{split}
I|0\rangle=
\begin{bmatrix}
1 & 0\\
0 & 1
\end{bmatrix}
\begin{bmatrix}
1 \\
0 
\end{bmatrix}=
\begin{bmatrix}
1 \\
0 
\end{bmatrix}\\
I|1\rangle=
\begin{bmatrix}
1 & 0\\
0 & 1
\end{bmatrix}
\begin{bmatrix}
0 \\
1 
\end{bmatrix}=
\begin{bmatrix}
0 \\
1 
\end{bmatrix}
\end{split}

### X gate

X gate 相當於經典邏輯閘中的 NOT gate，符號為 $X$：

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/H1QEzVP2A.svg" 
         alt="X gate" width="40%"/>
    <br>
    <p>以上這兩個都是 X gate 的符號
    </p>
</div>

以矩陣表示：

\begin{split}
X=
\begin{bmatrix}
0 & 1\\
1 & 0
\end{bmatrix}
\end{split}

X gate 會將 $|0\rangle$ 變成 $|1\rangle$，將 $|1\rangle$ 變成 $|0\rangle$

\begin{split}
X|0\rangle = |1\rangle\\
X|1\rangle = |0\rangle
\end{split}

對處於疊加態的 qubit $|\psi\rangle$ 做 X 操作會是：

\begin{split}
X|\psi\rangle &= X(\alpha|0\rangle+\beta|1\rangle)\\
&=\alpha X|0\rangle+\beta X|1\rangle\\
&=\alpha|1\rangle+\beta|0\rangle \\
&=\beta|0\rangle + \alpha|1\rangle
\end{split}

有時候會把 X gate 寫成這樣

\begin{split}
X=|0\rangle \langle 1|+|1\rangle \langle 0|
\end{split}

做個簡單的驗證

\begin{split}
X|0\rangle &= (|0\rangle \langle 1|+|1\rangle \langle 0|)|0\rangle \\
&=|0\rangle \langle 1|0\rangle+|1\rangle \langle 0|0\rangle \\
&=|0\rangle 0+|1\rangle1 \\
&=|1\rangle
\end{split}

很明顯地，連續做兩個 X gate 操作，qubit 狀態會變回原本的狀態，因為

\begin{split}
XX|\psi\rangle&=
\begin{bmatrix}
0 & 1\\
1 & 0
\end{bmatrix}
\begin{bmatrix}
0 & 1\\
1 & 0
\end{bmatrix}
|\psi\rangle \\
&=I|\psi\rangle \\
&=|\psi\rangle
\end{split}

### Y gate

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/HJTj7YVnR.svg" 
         alt="Y gate" width="40%"/>
    <br>
    <p>Y gate 的符號
    </p>
</div>

Y gate 的矩陣為：

\begin{split}
Y=
\begin{bmatrix}
0 & -i\\
i & 0
\end{bmatrix}=i
\begin{bmatrix}
0 & -1\\
1 & 0
\end{bmatrix}
\end{split}

也可以寫成這樣

\begin{split}
Y=i(|1\rangle \langle 0|-|0\rangle \langle 1|)
\end{split}

Y gate 將 qubit 從 $|0\rangle$ 變成 $i|1\rangle$，將 $|1\rangle$ 變成 $-i|0\rangle$：

\begin{split}
Y|0\rangle &= i|1\rangle\\
Y|1\rangle &= -i|0\rangle
\end{split}

對一個處於疊加態的 qubit $|\psi\rangle$ 做 Y 操作後：

\begin{split}
Y|\psi\rangle &= Y(\alpha|0\rangle+\beta|1\rangle)\\
&=i\alpha|1\rangle-i\beta|0\rangle \\
&=-i\beta|0\rangle+i\alpha|1\rangle 
\end{split}

我們把機率幅做絕對值平方後做加總，看總機率會是多少

\begin{split}
|-i\beta|^2+|i\alpha|^2&=(-i\beta)^* (-i\beta)+(i\alpha)^* (i\alpha)\\
&=(i\beta^* ) (-i\beta)+(-i\alpha^*) (i\alpha) \\
&=\beta^* \beta+\alpha^* \alpha \\
&=|\beta|^2+|\alpha|^2 \\
&=1
\end{split}

總機率仍然會是 100%。

### Z gate

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/B17lEK42R.svg" 
         alt="Z gate" width="40%"/>
    <br>
    <p>Z gate 的符號
    </p>
</div>

以矩陣表示

\begin{split}
Z=
\begin{bmatrix}
1 & 0\\
0 & -1
\end{bmatrix}
\end{split}

也可以寫成這樣

\begin{split}
Z=(|0\rangle \langle 0|-|1\rangle \langle 1|)
\end{split}

它對 qubit 的影響

\begin{split}
Z|0\rangle &= |0\rangle\\
Z|1\rangle &= -|1\rangle
\end{split}

對一個處於疊加態的 qubit $|\psi\rangle$ 做 Z 操作會是

\begin{split}
Z|\psi\rangle &= Z(\alpha|0\rangle+\beta|1\rangle)\\
&=\alpha|0\rangle-\beta|1\rangle 
\end{split}

## Pauli gate
以上 X, Y, Z gate（有些人會算把 I gate 也算進來）統稱為 Pauli gate，這是因為這三個矩陣剛好對應量子力學中 $SU(2)$ 群的 generator。

<blockquote>
不了解 SU(2) 與 generator 並不影響往後的閱讀，這已經到量子場論程度，有興趣的讀者可以參看 Lie algebra
</blockquote>

以下是這三個 gate 的關係
\begin{split}
X^2&=Y^2=Z^2=I \\
Y&=iXZ \\
XY&=-YX \\
ZY&=-YZ \\
XYX&=iZX=-Y 
\end{split}

<blockquote>
可以自己在紙上，用矩陣做證明
</blockquote>

\begin{split}
XZ&=-ZX \\
ZXZ&=-X \\
ZYZ&= -Y \\
ZZZ&=Z
\end{split}

## Hadamard gate  (H gate)
Hadamard gate 是量子計算中最常用到的 gate 之一，常常會是電路中第一個用到的 gate。

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/SJXMVYVhR.svg" 
         alt="H gate" width="40%"/>
    <br>
    <p>H gate 的符號
    </p>
</div>

H gate 以矩陣表示

\begin{split}
H=\frac{1}{\sqrt{2}}
\begin{bmatrix}
1 & 1\\
1 & -1
\end{bmatrix}=
\begin{bmatrix}
\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2}\\
\frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2}
\end{bmatrix}
=\frac{1}{\sqrt 2}(X+Z)
\end{split}

也可以寫成這樣

\begin{split}
H&=\frac{1}{\sqrt{2}}(|0\rangle\langle 0|+|1\rangle\langle 0|+|0\rangle\langle 1|-|1\rangle\langle 1|)\\
&= \frac{1}{\sqrt 2} \sum_{x,y\in \left\{ 0,1 \right\}} (-1)^{x\cdot y}|x\rangle\langle y|
\end{split}

<blockquote>
最後一條式子看不懂的話，可以將 x 與 y 一個一個代入 0 或 1
</blockquote>

H gate 會將 qubit 從 $|0\rangle$ 或 $|1\rangle$ 變成疊加態：

\begin{split}
H|0\rangle = \frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)=|+\rangle\\
H|1\rangle = \frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)=|-\rangle
\end{split}

H gate 會將 qubit 從 $|0\rangle$ 或 $|1\rangle$ 進入疊加態。上式還可以簡寫成：

\begin{split}
H|u\rangle=\frac{1}{\sqrt{2}}(|0\rangle+(-1)^u|1\rangle) \qquad \text{where}\quad u\in\{0,1\}
\end{split}

可以將 $u$ 代 $0$ 或 $1$ 進上式驗證看看。當對疊加態（如 $|+\rangle$ 和 $|-\rangle$）做 H gate 操作時，會：

\begin{split}
H|+\rangle&=H\frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)\\
&=\frac{1}{\sqrt{2}}(H|0\rangle+H|1\rangle) \\
&=\frac{1}{\sqrt{2}}[\frac{1}{\sqrt{2}}(|0\rangle+|1\rangle)+\frac{1}{\sqrt{2}}(|0\rangle-|1\rangle)] \\
&=\frac{1}{2}(|0\rangle+|1\rangle+|0\rangle-|1\rangle)\\
&= |0\rangle
\end{split}

這是因為

\begin{split}
H|+\rangle&=HH|0\rangle \\
&=I|0\rangle \\
&=|0\rangle
\end{split}

同理

\begin{split}
H|-\rangle&=HH|1\rangle\\
&= |1\rangle
\end{split}

另外

\begin{split}
H^2&=I \\
HXH&=Z \\
HYH&= -Y \\
HZH&=X
\end{split}

## Phase shift gate
下面要介紹的兩個 gate，與 Z gate 合稱為 phase shift gate。因為他們不會影響 qubit 的量子態本身，只會改變量子態的相位（機率幅的負數或虛數）

### S gate
又稱為 phase gate，連續做兩個 S gate 就是 Z gate

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/rJtV4YEh0.svg" 
         alt="S gate" width="40%"/>
    <br>
    <p>S gate 的符號
    </p>
</div>

\begin{split}
S&=
\begin{bmatrix}
1 & 0\\
0 & i
\end{bmatrix}=
\sqrt{Z} \\
&=
e^{\frac{\pi}{4}}
\begin{bmatrix}
e^{-i\frac{\pi}{4}} & 0\\
0 & e^{i\frac{\pi}{4}}
\end{bmatrix}
\end{split}

因此又稱為 $R^Z_{\frac{\pi}{2}}$ gate，或 $\frac{\pi}{4}$ gate。它對 qubit 的影響：

\begin{split}
S|0\rangle = |0\rangle\\
S|1\rangle = i|1\rangle
\end{split}

其中
\begin{split}
SXS^{\dagger}=Y \\
SYS^{\dagger}=-X \\
SZS^{\dagger}=Z
\end{split}


### T gate

<div style="text-align: center;">
    <img src="https://hackmd.io/_uploads/SkT44KN3R.svg" 
         alt="T gate" width="40%"/>
    <br>
    <p>T gate 的符號
    </p>
</div>

又稱為 $\frac{\pi}{8}$ gate，連續做兩個 T gate 就是 S gate

\begin{split}
T&=
\begin{bmatrix}
1 & 0\\
0 & e^{i\frac{\pi}{4}}
\end{bmatrix}=
\sqrt{S} \\
&=
e^{\frac{\pi}{8}}
\begin{bmatrix}
e^{-i\frac{\pi}{8}} & 0\\
0 & e^{i\frac{\pi}{8}}
\end{bmatrix}
\end{split}

它對 qubit 的影響：

\begin{split}
T|0\rangle = |0\rangle\\
T|1\rangle = e^{i\frac{\pi}{4}}|1\rangle
\end{split}