![]() |
一個量子電路[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 的各種操作也可以寫成不同的「量子閘」。下將就常見的幾種做介紹:
X=(0110)Y=(0−ii0)Z=(100−1)
這三個矩陣被稱作「包立矩陣」(Pauli Matrices),對於自旋1/2粒子的自旋理論十分重要,有興趣的讀者可參考維基百科頁面。
以 X 做例子,X 作用在某一個狀態 |ψ0⟩=(ab) 後,會得到
|ψ⟩=(0110)(ab)=(ba).
繞 x,y,z 三軸旋轉 θ 的算符分別記做 Rx(θ),Ry(θ),Rz(θ),各自定義如下:
Rx(θ)≡e−iθX/2=(cosθ2−isinθ2−isinθ2cosθ2)Ry(θ)≡e−iθY/2=(cosθ2−sinθ2sinθ2cosθ2)Rz(θ)≡e−iθ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。此外,關於常見的算符恆等式、以及怎麼利用這些算符建構出特定的演算法等等課題,將於往後的文章陸續介紹。
單位元閘(single-qubit gate)
首先介紹三個基本的 Pauli 閘,分別是 Pauli-X, Pauli-Y, Pauli-Z,或只寫成 X , Y , Z:X=(0110)Y=(0−ii0)Z=(100−1)
這三個矩陣被稱作「包立矩陣」(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=1√2(111−1)=1√2(X+Z)S=(100i)=√ZT=(100exp(iπ/4))=√S
H=1√2(111−1)=1√2(X+Z)S=(100i)=√ZT=(100exp(iπ/4))=√S
以上共六種算符,是常在量子電路中看到的組成元件。(才怪我根本沒見過 T 。但 H 很重要,真的)
H 在量子計算中非常重要,讀者可自行驗證 H 將 z 方向基底(|0⟩、|1⟩)分別轉到 x 方向的基底(|+⟩、|−⟩),其中 |±⟩=1√2(|0⟩±|1⟩),也就是將基底狀態轉為兩者的疊加態。而在往後討論到多位元電路時, H 可用來產生多顆 qubit 的「均勻疊加態」,。
H 在量子計算中非常重要,讀者可自行驗證 H 將 z 方向基底(|0⟩、|1⟩)分別轉到 x 方向的基底(|+⟩、|−⟩),其中 |±⟩=1√2(|0⟩±|1⟩),也就是將基底狀態轉為兩者的疊加態。而在往後討論到多位元電路時, H 可用來產生多顆 qubit 的「均勻疊加態」,。
量子閘與 Bloch sphere
如同前文介紹,qubit 的狀態可以用 Bloch Sphere 上的點來表示,因此可以定義對於 x,y,z 三個軸的「旋轉操作」。當然這些旋轉並不是針對某個真實物體的旋轉,僅僅是對於 qubit 狀態在 Bloch sphere 上的位置做出特定的變化。繞 x,y,z 三軸旋轉 θ 的算符分別記做 Rx(θ),Ry(θ),Rz(θ),各自定義如下:
Rx(θ)≡e−iθX/2=(cosθ2−isinθ2−isinθ2cosθ2)Ry(θ)≡e−iθY/2=(cosθ2−sinθ2sinθ2cosθ2)Rz(θ)≡e−iθ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
沒有留言:
張貼留言