量子計算 IBM Qiskit
使用 Qiskit 設計量子電路時,總共包含了 4 個步驟:
- Build : 設計,設計能處理待解問題的量子電路
- Compile : 編譯,編譯量子電路,讓你的裝置(量子系統或古典模擬)看得懂這個量子電路
- Run : 執行,在量子系統上執行編譯過的量子電路
- Analyze : 分析,統計、視覺化實驗結果
完整程式碼
設計第一個量子電路
以下的例子包含上面四個部份,將帶你設計一個量子電路並呈現實驗的結果:
- QuantumCircuit() : 用來設計量子電路
- transpile : 用來編譯量子電路
- AerSimulator : Aer 是 qiskit 裡面用來模擬 noisy 量子電路的 backend
1. Build 設計
- 在 q0 新增一個 Hadamard gate
- 新增一個 CNOT gate (q0為control qubit, q1為target qubit)
- 新增兩個 measurement 得到古典bit

2. Compile 編譯
- 呼叫 transpile 函式來編譯量子電路

3. Run 執行
- 使用 aer 模擬器來執行量子電路

4. Analyze 分析
- 因為aer模擬器是有noise的(實際的量子電路也有很大的noise),每一次執行完的結果可能不同
- 因此要用統計的方式來得到結果,這邊設定shot為1000

- 最後的結果為一半的機率得到 00,一半的機率得到 11
- 也就是我們透過量子電路,製造了量子糾纏的 Bell State

- 量子糾纏、Bell State等重要概念之後會有文章專門講解