# Bloch sphere (下):Quantum Gate 如何運作
上一節中,我們用 Bloch sphere 可視化 qubit 的狀態,這一節將延續這概念,帶大家了解 quantum gate 如何影響 qubit 的狀態。
## 常見 single qubit quantum gate
### X gate
X gate 的作用就是在 Bloch sphere 上繞著 X 軸旋轉 $180^{\circ}$。原本指向 +Z 軸的箭頭(即 $|0\rangle$)會移動到 -Z 軸(即 $|1\rangle$)
X gate 的作用就是對 Bloch 球上的 X 軸(綠色線)旋轉 180 度(紅色線),原本指向 +Z 軸的淺黃粗箭頭(帶有藍點的)會轉到 -Z 軸(深黃粗箭頭)
再回頭看前面提過 X gate 的作用,是可以與 Bloch sphere 的結果對應:
\begin{split}
X|0\rangle = |1\rangle\\
X|1\rangle = |0\rangle
\end{split}
### Y gate
相同地,Y gate 的作用是繞著 Y 軸旋轉 $180^{\circ}$。
Y gate 的作用就是對 Bloch 球上的 Y 軸(綠色線)旋轉 180 度(紅色線),原本指向 +Z 軸的淺黃粗箭頭(帶有藍點的)會轉到 -Z 軸(深黃粗箭頭)
你知道 $Y|0\rangle=i|1\rangle$,對應到 Bloch sphere 上,即 $\theta=90^\circ$,$\phi=90^\circ$,所以在這裡看不到虛數的影響
可以明顯看到,與 X gate 一樣,連續轉兩次會回到原點,即
\begin{split}
XX|0\rangle = YY|0\rangle=I|0\rangle=|0\rangle\\
\end{split}
### Phase shift gate
你應該也猜到了,Z gate 就是繞著 Z 軸轉 $180^{\circ}$。
qubit 的初始狀態是淺黃箭頭指向之處(即淺藍點的地方),經過 Z gate 的操作,也就是對 Z 軸(綠色線)旋轉 180 度(紅色線)後,qubit 的狀態變為在深黃箭頭指向之處
如果今天只有轉 $90^{\circ}$,就是 S gate,T gate 就是繞著 Z 軸轉 $45^{\circ}$
### H gate
H gate 的運作比較抽象,正確來說是是繞著 $\frac{X+Z}{\sqrt{2}}$ 軸轉 $180^{\circ}$:
H gate 的作用是繞著圖中綠色線旋轉 180 度(紅色箭頭與紅色軌跡),原本指向狀態為 0 的淺黃帶藍點箭頭會轉到指向重疊態的深黃箭頭
(請原諒作者藝術不好,紅色軌跡線畫不好)
這樣講起來蠻抽象的,另一種理解方式是先繞著 Y 軸轉 $90^{\circ}$ 再繞著 X 軸轉 $180^{\circ}$:
另一種理解 H gate 的操作,是先對 Y 軸旋轉 90 度,原本指向 0 的淺黃箭頭會沿著粉色軌跡線(標注 1 的那條)移動到 X 軸處,再對 X 軸旋轉 180 度,深黃箭頭繞著標註為 2 的粉色軌跡線在原地旋轉
實際上這種操作方式並不是 H gate,反而是 -iH,但在測量後我們觀測不到 -i 的影響,因此可以當作 H gate
## Rotation gate
我們前面看到的 X, Y, Z gate 都是繞特定軸旋轉 $180^\circ$ 或 $90^\circ$,但如果需要其他角度旋轉呢?像是只是想要旋轉 $30^{\circ}$,能做到嗎?這時候就需要 rotation gate,,它允許我們在 Bloch sphere 上進行任意角度的旋轉。
### RX gate
RX gate 的符號
RX gate 是繞著 X 軸旋轉任意角度 $\theta$,公式如下:
\begin{split}
RX(\theta)=
\begin{bmatrix}
\cos{\frac{\theta}{2}} & -i\sin{\frac{\theta}{2}} \\
-i\sin{\frac{\theta}{2}} & \cos{\frac{\theta}{2}}
\end{bmatrix}
\end{split}
我們前面提過,X gate 是繞著 X 軸轉 $180^{\circ}$,即 $RX(\pi)$,當你真的代這角度到上述矩陣後會發現
\begin{split}
X=iRX(\pi)&=i
\begin{bmatrix}
\cos{\frac{\pi}{2}} & -i\sin{\frac{\pi}{2}} \\
-i\sin{\frac{\pi}{2}} & \cos{\frac{\pi}{2}}
\end{bmatrix} \\
&=i
\begin{bmatrix}
0 & -i \\
-i & 0
\end{bmatrix}=
\begin{bmatrix}
0 & 1 \\
1 & 0
\end{bmatrix}
\end{split}
它與 X gate 差一個虛數 $i$,但實際我們做觀測後,看不到虛數(卻又真實存在),所以通常會忽略之,即
\begin{split}
X\approx RX(\theta)
\end{split}
有時候 RX gate 會寫成
\begin{split}
RX(\theta)&=e^{-i\frac{\theta}{2}X}\\
&=\cos{\frac{\theta}{2}}I-i\sin{\frac{\theta}{2}}X
\end{split}
### RY gate
RY gate 的符號
同理,RY 是繞著 Y 軸做旋轉
\begin{split}
RY(\theta)&=
\begin{bmatrix}
\cos{\frac{\theta}{2}} & -i\sin{\frac{\theta}{2}} \\
\sin{\frac{\theta}{2}} & \cos{\frac{\theta}{2}}
\end{bmatrix}\\
&=e^{-i\frac{\theta}{2}Y}\\
&=\cos{\frac{\theta}{2}}I-i\sin{\frac{\theta}{2}}Y
\end{split}
同理,
\begin{split}
Y&=iRY(\pi)\approx RY(\pi) \\
\end{split}
有了 RX 與 RY gate 後,就能組合出 H gate,即前面對 H gate 的第二種理解方式,先對 Y 軸轉 90 度再對 X 軸轉 180 度:
\begin{split}
H&=X\sqrt{Y}\approx RX(\pi)RY(\frac{\pi}{2})=-iH
\end{split}
### RZ gate
RZ gate 的符號
\begin{split}
RZ(\theta)&=
\begin{bmatrix}
e^{-i\frac{\theta}{2}} & 0 \\
0 & e^{i\frac{\theta}{2}}
\end{bmatrix}\\
&=e^{-i\frac{\theta}{2}Z}\\
&=\cos{\frac{\theta}{2}}I-i\sin{\frac{\theta}{2}}Z
\end{split}
同理,
\begin{split}
Z&=iRZ(\pi)\approx RZ(\pi)
\end{split}
前面提及,S gate 就是繞著 Z 軸轉 $90^{\circ}$,T gate 則是旋轉 $45^{\circ}$,即:
\begin{split}
S&=\sqrt{Z} \approx RZ(\frac{\pi}{2}) \\
T&=\sqrt{S} \approx RZ(\frac{\pi}{4})
\end{split}
以上可以發現 rotation gate 與我們介紹常用的 gate 都差了一個虛數,這虛數我們稱之為 global phase(全局相位),不過這 global phase 在現實中無法被觀測到,也就是說它大體上不會影響到計算的過程與結果,因此通常會忽略不計。