2019年2月3日

量子閘 (Quantum Gate) 之一

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

一個量子電路[1]


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

           先前有介紹過量子態的觀念,那時使用了抽象的 Dirac Notation 表示狀態(例如 |ψ)。而對於 qubit 的情形,由於考慮的是雙態系統(即狀態為 |0|1 、或兩者的疊加),可以將狀態很簡單的使用如下的矩陣表示:
|0(10)|1(01)a|0+b|1(ab)

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

量子閘(Quantum Gate)

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

單位元閘(single-qubit gate)

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

X=(0110)Y=(0ii0)Z=(1001)


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

           以 X 做例子,X 作用在某一個狀態 |ψ0=(ab) 後,會得到
|ψ=(0110)(ab)=(ba).

也就是說, X 可將 |0|1 兩狀態互換(也因此 X(a|0+b|1)=a|1+b|0 )。對於各種不同的gate,先了解其對於基底(|0|1)的作用,就更能掌握其對不同量子態的作用。

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

H=12(1111)=12(X+Z)S=(100i)=ZT=(100exp(iπ/4))=S

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

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


量子閘與 Bloch sphere

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

           繞 x,y,z 三軸旋轉 θ 的算符分別記做 Rx(θ),Ry(θ),Rz(θ),各自定義如下:

Rx(θ)eiθX/2=(cosθ2isinθ2isinθ2cosθ2)Ry(θ)eiθY/2=(cosθ2sinθ2sinθ2cosθ2)Rz(θ)eiθZ/2=(exp(iθ/2)00exp(iθ/2))

其中形如 exp(iθX/2) 的項利用矩陣指數來定義。雖然這些旋轉的定義看起來十分複雜,但其實只要先寫出在不同旋轉時,球座標的角度(θ,ϕ)的變換,最後再利用 Bloch sphere 上點座標到量子態的對應,就可以得到這些旋轉變換的表示式了。

           為什麼要特別注意 Bloch sphere 上的旋轉呢?事實上,可以證明所有合法操作(即 unitary operations)都可以表示成 eiαRz(β)Ry(γ)Rz(δ),也就是表示成一些 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

沒有留言:

張貼留言