動手試玩IBM Q Experience 5位元量子電腦!

圖1. IBM Q 5 Tenerife

今天要試玩的是這台IBM Q 5 Tenerife 五位元量子電腦,操作之前,有一些理論需要學習,請稍安勿躁XD在傳統電腦中的位元(bit),是利用電晶體的開關去實現0、1。如下圖為一增強型金屬氧化物半導體場效電晶體(Enhancement-mode N-channel MOSFET),簡稱NMOS,它是利用源極(Source)、汲極(Drain)、閘極(Gate)電壓的不同,來操作在三種模式,分別是截止區(Cutoff mode)、三極區(Triode mode)和飽和區(Saturation mode)。
截止區是VGS<Vt,drain current iD=0,當作「關(Off)」、「開路」;飽和區則是VGS>Vt,當作「開(On)」「短路」;三極區則較少用。

圖2. 利用NMOS作為直流馬達開關。Diode D1跨接Drain 和Source可以避免暫態電壓過大。

圖3. 量子位元的|0⟩ 和|1⟩

量子位元的|0⟩ 和|1⟩則透過布洛赫球面(Bloch Sphere)表示。透過X gate,可以對X軸旋轉180度,從|0⟩ 變|1⟩或|1⟩變|0⟩ ,即是 “Bit-flip”.
但量子位元的特性在於可以同時是|0⟩或|1⟩,也就是處於0和1的疊加態。我們對|0⟩ 加上一個Hadamard gate(H gate),讓|0⟩對X+Z軸旋轉180度,成了|+⟩state = (|0⟩+|1⟩)。代表各有50%的機率是|0⟩或|1⟩。

圖4. 透過H gate,使得量子位元處於0和1的疊加態。

量子位元是由兩個能階組成,|0⟩ 和|1⟩,|0⟩ 的能量比較低,所以是基態(Ground stare)。|0⟩ 和|1⟩是基底向量(Standard vector basis),它們可以疊加(Superposition),如a|0⟩+b|1⟩。a, b可以是正、負或複數。

圖5. 不同的Gate使得+X繞著Z軸旋轉。

透過加入不同的Gate,可以改變疊加的狀態。先加入H gate,可以使|0⟩變成+X狀態,如果沒有把|0⟩變成+X狀態,則看不出旋轉的變化。
X gate是對X軸旋轉180度;Z gate是對Z軸旋轉180度;S gate是對Z軸旋轉90度,把X映射至Y;T gate是對Z軸旋轉45度;經過T、S gate,對Z軸旋轉135度。T†是T的反函數,TT†則保持原狀態。
X gate即是Z->-Z, “bit-flip”;Z gate是X->-X, “phase-flip”.

圖6. 從上圖我們可以看出加上不同的Gate得到不同的機率分布。

接下來我們透過GHZ Experiment來說明量子世界的奇妙,也就是測量的方法不同,會得出不同的結果。最簡單的GHZ state,(|000⟩+|111⟩),三個0和三個1分別處於糾纏態;|000⟩和|111⟩處於疊加態。我們把|0⟩對應到1;|1⟩對應到-1,以免在運算過程中乘以零使得訊息消失。

圖7.  古典的量測,得出來的結果會和在量子狀態量出來的結果不一樣。

古典的假設是每個變數互相獨立且值已經預先被決定(pre-determined).
Mx代表Measurements along X;My代表Measurements along Y。我們假設Mx和My分別代表1和-1,但不清楚誰是1,誰是-1。但Mx或My只能是1或-1,不能Mx一下是1,一下是-1。
當我們看Q3那一行,Mx *My*My。My*My一定等於1,不管My是1或-1,所以可以化簡為Mx。當我們把三行都相乘,會得到MxQ1*MxQ2*MxQ3=1(6個My相乘 = 1),但其實不管是量子力學的理論和實驗都告訴我們在GHZ state 測量XXX會得到-1!
我們可以知道三個qubit 的結果,例如XYY一定等於1,但不知道個別的狀況,如X, Y是多少。如果qubit2, 3 對Y測量的結果是1,那qubit 1 對X測量的結果就是1;如果qubit2, 3 對X測量的結果是1,那qubit 1 對X測量的結果就是-1。雖然很奇怪,但確實是如此。
舉個比喻來說,在木蘭詩中有一句「兩兔傍地走,安能辨我是雌雄?」兩隻兔子在一起跑,從整體來看的狀況是確定的,你知道一定有一隻是公,一隻是母;但個別來看,哪隻是公,哪知是母卻不知道。

圖8. GHZ State XYY Measurement

接著看一下用IBM Q Experience Composer跑GHZ State XYY Measurement的結果,是101, 011, 110, 000相乘起來結果都是1。

圖9. GHZ State XXX Measurement

跑GHZ State XXX Measurement的結果,是100, 001, 010, 111,相乘起來結果都是-1。最後要注意的是 “Run”和 “Simulate”的結果會不同,因為Run是用實際的量子電腦去跑,所以會有誤差。

參考資料:
文章:

1. MOSFET as a Switch
https://www.electronics-tutorials.ws/transistor/tran_7.html

2. The Weird and Wonderful World of the Qubit
https://quantumexperience.ng.bluemix.net/qx/tutorial?sectionId=beginners-guide&page=004-The_Weird_and_Wonderful_World_of_the_Qubit~2F001-The_Weird_and_Wonderful_World_of_the_Qubit

3. Greenberger–Horne–Zeilinger state
https://en.wikipedia.org/wiki/Greenberger%E2%80%93Horne%E2%80%93Zeilinger_state

4. Basic Circuit Identities and Larger Circuits, Changing the direction of a CNOT gate
https://quantumexperience.ng.bluemix.net/proxy/tutorial/full-user-guide/004-Quantum_Algorithms/061-Basic_Circuit_Identities_and_Larger_Circuits.html

5. GHZ States Composer Simulation
https://quantumexperience.ng.bluemix.net/proxy/tutorial/full-user-guide/003-Multiple_Qubits_Gates_and_Entangled_States/003-GHZ_States.html

圖片:

1. IBM Editor
https://quantumexperience.ng.bluemix.net/qx/editor

2. MOSFET as a Switch
https://www.electronics-tutorials.ws/transistor/tran_7.html

3. Single-Qubit Gates
https://quantumexperience.ng.bluemix.net/proxy/tutorial/beginners-guide/005-Single-Qubit_Gates/001-Single-Qubit_Gates.html

4. Creating superposition
https://quantumexperience.ng.bluemix.net/proxy/tutorial/beginners-guide/005-Single-Qubit_Gates/002-Creating_superposition.html

5. Introducing qubit phase
https://quantumexperience.ng.bluemix.net/proxy/tutorial/beginners-guide/005-Single-Qubit_Gates/005-Introducing_qubit_phase.html

6. Introducing qubit phase
https://quantumexperience.ng.bluemix.net/proxy/tutorial/beginners-guide/005-Single-Qubit_Gates/005-Introducing_qubit_phase.html

7. Bell and GHZ Tests
https://quantumexperience.ng.bluemix.net/proxy/tutorial/beginners-guide/007-Entanglement/003-Bell_and_GHZ_Tests_(Cont.).html

8. Simulated by author at 2019/5/15