2019年2月3日

量子閘 (Quantum Gate) 之一

           終於進入量子計算的介紹了,首先登場的是能對 qubit 做出不同操作的「量子閘」 (quantum gate)。如同古典計算中有各種邏輯閘,量子計算中也有一系列的量子閘,不過因為量子態有疊加、糾纏等各種性質,因此量子閘也會變得較為複雜。而在有了量子閘之後,就可以建構出各種不同的「量子電路」,下圖就是一個(隨便畫的)量子電路的例子,電路中寫有 X, H, Z 等不同符號的方塊,就是這次要介紹的「量子閘」。

一個量子電路[1]


量子態 (States) 與算符 (Operators)

           先前有介紹過量子態的觀念,那時使用了抽象的 Dirac Notation 表示狀態(例如 $\left|\psi\right>$)。而對於 qubit 的情形,由於考慮的是雙態系統(即狀態為 $\left|0\right>$ 、 $\left|1\right>$ 、或兩者的疊加),可以將狀態很簡單的使用如下的矩陣表示:
\[\begin{align*}
&\left|0\right>  \to\left(\begin{matrix}1\\0\end{matrix}\right) \\
&\left|1\right>  \to\left(\begin{matrix}0\\1\end{matrix}\right) \\
&a\left|0\right>+b\left|1\right>  \to\left(\begin{matrix}a\\b\end{matrix}\right)
\end{align*}\]

           算符則像是作用於量子態的一個「函數」:初始的量子態 $\left|\psi_0\right>$ 經由算符 $U$ 作用而變成另一個量子態 $\left|\psi\right>=U\left|\psi_0\right>$。在前段所提到的雙態系統狀態的矩陣表示中,算符可以用一個 $2\times 2$ 矩陣表示。另外,在量子力學中,(非測量的)操作必須要是么正變換(unitary transformation,不過這個中文也是剛剛查了才知道,所以之後如果提到還是會用英文...)。

量子閘(Quantum Gate)

           如前面所說,可以利用各種不同的算符操作 qubit 。就像許多古典位元運算被命名成不同邏輯閘(AND, OR, XOR 等等),而對 qubit 的各種操作也可以寫成不同的「量子閘」。下將就常見的幾種做介紹:

單位元閘(single-qubit gate)

           首先介紹三個基本的 Pauli 閘,分別是 Pauli-X, Pauli-Y, Pauli-Z,或只寫成 $X$ , $Y$ , $Z$:

\[
X = \left(\begin{matrix}
0&1\\1&0
\end{matrix}\right)\quad
Y = \left(\begin{matrix}
0&-i\\i&0
\end{matrix}\right)\quad
Z = \left(\begin{matrix}
1&0\\0&-1
\end{matrix}\right)\quad
\]

這三個矩陣被稱作「包立矩陣」(Pauli Matrices),對於自旋1/2粒子的自旋理論十分重要,有興趣的讀者可參考維基百科頁面

           以 $X$ 做例子,$X$ 作用在某一個狀態 $\left|\psi_0\right> = \left(\begin{matrix}  a\\ b \end{matrix}\right)$ 後,會得到
\[ \left|\psi\right>=
 \left(\begin{matrix}
0&1\\1&0
\end{matrix}\right)
\left(\begin{matrix}
a \\ b
\end{matrix}\right)
=  \left(\begin{matrix}
b \\ a
\end{matrix}\right).  \]
也就是說, $X$ 可將 $\left| 0 \right > $、$\left| 1 \right > $ 兩狀態互換(也因此 $X(a\left|0\right>+b\left|1\right>)=a\left|1\right>+b\left|0\right>$ )。對於各種不同的gate,先了解其對於基底($\left| 0 \right > $、$\left| 1 \right > $)的作用,就更能掌握其對不同量子態的作用。

           再來,要介紹另外幾個常見的閘,分別是 $H$(Hadamard gate)、 $S$ (phase gate)、以及 $T$(T-gate)

\[\begin{align*}
H &= \frac{1}{\sqrt 2} \left(\begin{matrix}
1&1\\1&-1
\end{matrix}\right)
= \frac{1}{\sqrt 2}(X+Z)\\\quad\\

S &= \left(\begin{matrix}
1&0\\0&i
\end{matrix}\right)
= \sqrt{Z}\\\quad\\

T &= \left(\begin{matrix}
1&0\\0&\exp (i\pi/4)
\end{matrix}\right)\quad
= \sqrt{S}
\end{align*}\]

以上共六種算符,是常在量子電路中看到的組成元件。(才怪我根本沒見過 $T$ 。但 $H$ 很重要,真的)

$H$ 在量子計算中非常重要,讀者可自行驗證 $H$ 將 $z$ 方向基底($\left| 0 \right > $、$\left| 1 \right > $)分別轉到 $x$ 方向的基底($\left| + \right > $、$\left| - \right > $),其中 $\left| \pm \right > = \frac{1}{\sqrt 2}(\left| 0 \right > \pm \left| 1 \right > )$,也就是將基底狀態轉為兩者的疊加態。而在往後討論到多位元電路時, $H$ 可用來產生多顆 qubit 的「均勻疊加態」,。


量子閘與 Bloch sphere

           如同前文介紹,qubit 的狀態可以用 Bloch Sphere 上的點來表示,因此可以定義對於 $x, y, z$ 三個軸的「旋轉操作」。當然這些旋轉並不是針對某個真實物體的旋轉,僅僅是對於 qubit 狀態在 Bloch sphere 上的位置做出特定的變化。

           繞 $x, y, z$ 三軸旋轉 $\theta$ 的算符分別記做 $R_x(\theta), R_y(\theta), R_z(\theta)$,各自定義如下:

\[\begin{align*}
R_x(\theta) & \equiv e^{-i\theta X/2}=
\left(\begin{matrix}
\cos \frac\theta 2 & -i\sin \frac\theta 2 \\
-i\sin\frac\theta 2 & \cos \frac\theta 2
\end{matrix}\right) \\\quad\\

R_y(\theta) & \equiv e^{-i\theta Y/2}=
\left(\begin{matrix}
\cos \frac\theta 2 & -\sin \frac\theta 2 \\
\sin\frac\theta 2 & \cos \frac\theta 2
\end{matrix}\right)\\\quad\\

R_z(\theta) & \equiv e^{-i\theta Z/2}=
\left(\begin{matrix}
\exp (-i\theta/2) & 0 \\
0 & \exp (i\theta/2)
\end{matrix}\right)
\end{align*}\]
其中形如 $\exp (-i\theta X/2) $ 的項利用矩陣指數來定義。雖然這些旋轉的定義看起來十分複雜,但其實只要先寫出在不同旋轉時,球座標的角度($\theta, \phi$)的變換,最後再利用 Bloch sphere 上點座標到量子態的對應,就可以得到這些旋轉變換的表示式了。

           為什麼要特別注意 Bloch sphere 上的旋轉呢?事實上,可以證明所有合法操作(即 unitary operations)都可以表示成 $e^{i\alpha}R_z(\beta)R_y(\gamma)R_z(\delta)$,也就是表示成一些 $Z, Y$ 方向的旋轉的乘積,此稱作 Z-Y decomposition [2]。當然,也可以把算符對於 x, y 兩方向的旋轉展開,得到類似的 X-Y decomposition 等等。

           至此,對於單位元閘的簡介告一段落,下篇文章將會介紹多位元閘(multi-qubit gate,作用對象不只單個 qubit 的操作),尤其是最重要的雙位元閘:CNOT。此外,關於常見的算符恆等式、以及怎麼利用這些算符建構出特定的演算法等等課題,將於往後的文章陸續介紹。

參考資料/註解

[1] 此範例電路由此繪出 https://quantumexperience.ng.bluemix.net/qx/editor
[2] M. Nielsen and I. Chuang, Quantum Computation and Quantum Information (2010), p. 175

沒有留言:

張貼留言