量子計算:IBM Quantum Experience 簡介
量子電腦號稱計算能力遠大於傳統電腦,由於強大的計算能力,因此吸引世界各國競相投入資源進行研究,近幾年來也取得了大量的進展,尤其在2016年IBM就推出 IBM Q5 五位元量子電腦,及量子計算雲端平台(IBM Quantum Experience),供大眾在線上體驗量子電腦。為了讓讀者能一窺這最新的技術,本篇文章將跟大家介紹IBM Quantum Experience平台,希望能讓大家有更進一步的認識。
一、量子位元(Quantum bit)及量子閘(Quantum gate)基本介紹
在介紹IBM的量子計算雲端平台之前,讓我們先來談談量子電腦與傳統電腦運作上的異同。首先,我們來看看傳統電腦的運作方式。傳統電腦的基本架構包含有運算單元(0及1),以及各類的運算元件(AND、OR、NOT、XOR、XNOR等)。傳統電腦的運作方式就是透過將這些運算元件(AND、OR等)作用在運算單元(0及1)上即可完成各類的運算功能。
量子電腦的運作方式亦是類似的架構,不過量子電腦的運算單元為一個量子位元(quantum bit)。量子位元除了0及1之外,也包含了0和1的所有疊加態,如下圖所示,也就是說,一個量子位元可以用來代表圖中圓(Bloch sphere)的任一個點。因此一個量子位元所能代表的資訊遠大於傳統電腦的運算單元(0及1),通常我們以符號|q>表示。
摘自科技大觀園(https://scitechvista.nat.gov.tw/c/sT0w.htm)
由於量子位元具有更多的資訊,我們能對它的操作也更豐富,因此量子電腦亦需不同的量子運算元件來支援,一般我們稱量子運算元件為量子閘(quantum gate),常見的量子閘有Hadamard gate、Pauli gate、Phase gate、dagger gate、CNOT gate等。下圖為IBM Quantum Experience所提供的量子閘。
二、IBM Quantum Experience介紹
- 帳號註冊
有了量子電腦的基本觀念之後,接下來我們就可以來看看如何透過IBM的量子計算雲端平台來實現量子計算。首先我們需要連線至IBM Quantum Experience (https://quantum-computing.ibm.com/)量子計算雲端平台,並在平台的首頁註冊帳號。完成註冊後即可登入使用。
在首頁左邊的功具列,有如下的功能選擇:
- Circuit Composer:提供透過圖形化介面直接進行量子計算。
- Quantum Lab:提供透過Python及Qiskit進行量子計算。
- Docs:線上說明文件。
這裡我們可以看到平台共有提供2種系統讓大家可以選擇,一個是圖型化介面,一個則是結合高階語言。另外平台也有提供線上說明文件讓大家可以線上查詢。本文後面將就圖形化介面的Circuit Composer做進一步介紹。
- Circuit Composer介紹
在前述首頁工具列點選Circuit Composer選項,即可進入Circuit Composer系統畫面,如下圖。以下我們就來看看系統的各功能區並做個簡單的介紹。
- 功能列
- 執行程式
- 開啟及編輯量子線路(Quantum Circuit):所謂量子線路即由數個量子閘組合所形成的運算元件,由於圖形和傳統電子電路相似,故稱量子線路。此處我們可以開啟及編輯已儲存的量子線路。
- 開啟及編輯OpenQASM 和 Qiskit程式碼:當我們編輯量子線路後,系統會自動產生對應的OpenQASM 和 Qiskit程式碼,該等程式碼可結合Python語言在平台的另一系統Quantum Lab執行運作。
- 量子閘元件:各類量子閘功能請參考Operations glossary。
- 量子線路(Quantum Circuit)編輯區:此處即我們編輯量子線路執行量子計算的區域。編輯區左邊q0-q1即代表量子位元,c1代表傳統位元用以顯示執行結果。編輯區中間用來置放量子閘,形成量子線路。例如將某量子閘A拉到某位元q後面,即代表A作用於該量子位元q,以符號表示即為A|q>。
- 工具列
- 視覺化圖區:即時提供量子線路執行成果。
3.製作量子線路及執行量子計算
我們以下圖來介紹如何製作量子線路及執行量子計算。在下圖中,我們在量子位元q0拉了一個Hadamard gate,然後我們拉了一個CNOT gate作用在量子位元q0和q1,最後我們利用measure gate來做量測,將產生的結果輸出在傳統位元c2。如此即完成一個量子線路。當我們按下程式執行,即會在下方的視覺化圖區列印結果出來。
三、結語
在本文我們介紹了如何透過IBM Quantum Experience的圖形化介面Circuit Composer來設計我們的量子線路,執行量子計算。透過這個介面可以幫助我們快速的認識各種量子閘及其操作。不過透過這個介面較難設計複雜功能的計算。IBM Quantum Experience另外提供Quantum Lab系統,可以透過Python語言及Qiskit,呼叫各類的套件,來協助設計複雜功能的計算,有興趣的讀者可以到IBM Quantum Experience網頁有更深入的介紹。
參考文獻
- IBM Quantum Experience網頁:https://quantum-computing.ibm.com/。
- 科技大觀園:https://scitechvista.nat.gov.tw/c/sT0w.htm。
by 物理系圖書室