Python 量子計算實踐:基於 Qiskit 和 IBM Quantum Experience 平臺

[美]哈西·諾倫(Hassi Norlén)

  • Python 量子計算實踐:基於 Qiskit 和 IBM Quantum Experience 平臺-preview-1
  • Python 量子計算實踐:基於 Qiskit 和 IBM Quantum Experience 平臺-preview-2
Python 量子計算實踐:基於 Qiskit 和 IBM Quantum Experience 平臺-preview-1

買這商品的人也買了...

相關主題

商品描述

本書使用Qiskit開源框架和IBM Quantum Experience平臺搭建一個量子計算平臺,並借助Python來介紹實現量子編程的方法。

本書內容由淺入深,從搭建編程環境並編寫一個簡單的量子程序開始,介紹如何使用Python編寫簡單的腳本,Qiskit和IBM Quantum Experience進行交互的方法,概率計算、疊加和糾纏等基本概念,影響量子程序輸出結果的各種物理因素,Qiskit量子門資源庫,使用Aer模擬量子電腦,使用Ignis清理量子操作,Grover搜索算法,以及使用Aqua運行Grover算法和Shor算法等重要內容。

本書能夠幫助讀者學會使用Qiskit和IBM Quantum Experience,同時結合Python編程實踐來實現量子比特的可視化並深入理解量子門、貝爾態、量子線路等概念,進一步掌握在實踐中使用量子算法的方法。

作者簡介

[美]哈西·诺伦(Hassi Norlén),IBM沃森物联网解决方案的首席信息开发人员,致力于沃森物联网服务产品生态系统的开发。拥有超过15年工作经验,曾负责过Web内容管理、大数据分析、传感器和IoT、量子计算等多领域工作。

目錄大綱

第 1章 搭建編程環境 1

1.1 技術要求 1

1.2 創建IBM Quantum Experience賬號 2

1.2.1 準備工作 2

1.2.2 操作步驟 3

1.2.3 參考資料 4

1.3 安裝Qiskit 4

1.3.1 準備工作 4

1.3.2 操作步驟 4

1.3.3 知識拓展 6

1.3.4 參考資料 6

1.4 下載示例代碼 7

1.4.1 準備工作 7

1.4.2 操作步驟 7

1.4.3 運行原理 10

1.5 安裝API密鑰並訪問提供服務的量子電腦 11

1.5.1 準備工作 11

1.5.2 操作步驟 11

1.5.3 運行原理 12

1.5.4 知識拓展 12

1.6 及時更新Qiskit環境 13

1.6.1 準備工作 13

1.6.2 操作步驟 14

1.6.3 運行原理 15

 

第 2章 基於Python的量子計算和量子比特 17

2.1 技術要求 17

2.2 比較經典比特和量子比特 18

2.2.1 準備工作 18

2.2.2 操作步驟 18

2.2.3 運行原理 20

2.2.4 參考資料 23

2.3 使用Python將量子比特可視化 23

2.3.1 準備工作 25

2.3.2 操作步驟 25

2.3.3 知識拓展 28

2.3.4 參考資料 29

2.4 量子門簡介 29

2.4.1 準備工作 30

2.4.2 操作步驟 30

2.4.3 運行原理 32

2.4.4 知識拓展 36

2.4.5 參考資料 39

 

第3章 IBM Quantum Experience ——拖放式量子編程 40

3.1 技術要求 40

3.2 IBM Quantum Experience簡介 41

3.2.1 Results 42

3.2.2 Circuit Composer 43

3.2.3 Quantum Lab 45

3.3 使用Circuit Composer搭建量子樂譜 46

3.3.1 操作步驟 46

3.3.2 知識拓展 50

3.4 量子拋硬幣實驗 52

3.4.1 操作步驟 52

3.4.2 知識拓展 55

3.5 不同軟件之間的交互 58

3.5.1 準備工作 58

3.5.2 操作步驟 59

3.5.3 運行原理 62

3.5.4 知識拓展 63

3.5.5 參考資料 64

 

第4章 從Terra入門 65

4.1 技術要求 66

4.2 創建一個Qiskit量子程序 66

4.2.1 所需的類、模塊和函數 66

4.2.2 使用量子寄存器和經典寄存器 67

4.2.3 理解量子線路 67

4.2.4 選擇運行所需的後端 67

4.2.5 以作業形式運行量子線路 67

4.2.6 接收作業的結果 68

4.3 再談量子拋硬幣 68

4.3.1 準備工作 69

4.3.2 操作步驟 69

4.3.3 運行原理 71

4.4 獲取統計數據——連續多次拋硬幣 72

4.4.1 準備工作 72

4.4.2 操作步驟 73

4.4.3 運行原理 74

4.4.4 知識拓展 74

4.5 交換所拋硬幣的正反面 75

4.5.1 準備工作 75

4.5.2 操作步驟 75

4.5.3 運行原理 77

4.5.4 知識拓展 77

4.6 同時拋兩枚硬幣 78

4.6.1 準備工作 78

4.6.2 操作步驟 78

4.6.3 運行原理 80

4.6.4 知識拓展 80

4.7 拋硬幣中的量子作弊——貝爾態簡介 80

4.7.1 準備工作 81

4.7.2 操作步驟 81

4.7.3 運行原理 83

4.7.4 知識拓展 84

4.7.5 參考資料 84

4.8 其他量子作弊方法——調整賠率 84

4.8.1 準備工作 84

4.8.2 操作步驟 85

4.8.3 運行原理 86

4.8.4 知識拓展 88

4.9 拋更多的硬幣——直接方法和作弊方法 89

4.9.1 準備工作 89

4.9.2 操作步驟 89

4.9.3 運行原理 92

4.9.4 知識拓展 92

4.10 拋實體硬幣 92

4.10.1 準備工作 93

4.10.2 操作步驟 93

4.10.3 運行原理 95

4.10.4 知識拓展 95

 

第5章 使用Qiskit工具訪問IBM Quantum硬件 98

5.1 技術要求 98

5.2 什麽是IBM Quantum機器 99

5.2.1 準備工作 99

5.2.2 操作步驟 99

5.2.3 運行原理 101

5.2.4 參考資料 101

5.3 定位到可用的後端 101

5.3.1 準備工作 102

5.3.2 操作步驟 102

5.3.3 知識拓展 105

5.3.4 參考資料 105

5.4 比較後端 105

5.4.1 準備工作 106

5.4.2 操作步驟 106

5.4.3 知識拓展 109

5.5 查詢最空閑的後端 110

5.5.1 準備工作 110

5.5.2 操作步驟 110

5.6 使後端可視化 112

5.6.1 準備工作 113

5.6.2 操作步驟 113

5.6.3 知識拓展 115

5.6.4 參考資料 117

5.7 使用Qiskit探索選定的後端 117

5.7.1 準備工作 118

5.7.2 操作步驟 118

5.7.3 參考資料 121

 

第6章 Qiskit量子門資源庫簡介 123

6.1 技術要求 124

6.2 使量子門可視化 124

6.2.1 準備工作 124

6.2.2 操作步驟 126

6.2.3 運行原理 129

6.2.4 參考資料 132

6.3 使用泡利X門、泡利Y門和泡利Z門翻轉量子比特 132

6.3.1 操作步驟 132

6.3.2 知識拓展 133

6.4 使用H門創建量子疊加 134

6.4.1 操作步驟 135

6.4.2 知識拓展 136

6.4.3 參考資料 136

6.5 使用量子相移門S、S 、T和T 將量子比特繞z軸旋轉 136

6.5.1 操作步驟 137

6.5.2 知識拓展 138

6.6 使用Rx門、Ry門和Rz門將量子比特繞任意坐標軸自由旋轉 138

6.6.1 操作步驟 139

6.6.2 知識拓展 140

6.7 使用基本量子門U1、U2、U3和ID搭建量子線路 140

6.7.1 U3量子門 141

6.7.2 U2量子門 141

6.7.3 U1量子門 141

6.7.4 準備工作 142

6.7.5 操作步驟 142

6.7.6 知識拓展 145

6.8 雙量子比特門 146

6.8.1 準備工作 146

6.8.2 操作步驟 147

6.8.3 運行原理 148

6.8.4 知識拓展 149

6.8.5 參考資料 149

6.9 多量子比特門 149

6.9.1 操作步驟 150

6.9.2 知識拓展 152

6.10 量子線路的真面目 154

6.10.1 準備工作 155

6.10.2 操作步驟 157

6.10.3 知識拓展 159

 

第7章 使用Aer模擬量子電腦 166

7.1 技術要求 167

7.2 瞭解量子模擬器的用法 167

7.2.1 準備工作 167

7.2.2 操作步驟 167

7.2.3 知識拓展 171

7.2.4 參考資料 171

7.3 比較Qiskit Aer模擬器和IBM量子電腦 172

7.3.1 準備工作 172

7.3.2 操作步驟 172

7.3.3 運行原理 173

7.3.4 知識拓展 176

7.3.5 參考資料 176

7.4 將IBM Quantum後端的噪聲配置文件添加到本地模擬器中 178

7.4.1 準備工作 178

7.4.2 操作步驟 178

7.4.3 參考資料 184

7.5 使用幺正模擬器加深對量子線路的理解 184

7.5.1 準備工作 185

7.5.2 操作步驟 185

7.6 使用態矢量模擬器進行診斷 188

7.6.1 準備工作 192

7.6.2 操作步驟 193

7.6.3 知識拓展 199

 

第8章 使用Ignis清理量子操作 200

8.1 技術要求 200

8.2 探索量子比特,理解T1、T2、誤差和量子門 201

8.2.1 準備工作 201

8.2.2 操作步驟 203

8.2.3 運行原理 205

8.2.4 知識拓展 206

8.3 比較同一塊芯片上的量子比特 208

8.3.1 準備工作 208

8.3.2 操作步驟 211

8.3.3 知識拓展 215

8.3.4 參考資料 215

8.4 估算可用時間內的量子門的數量 215

8.4.1 準備工作 216

8.4.2 操作步驟 219

8.4.3 知識拓展 222

8.4.4 參考資料 225

8.5 用讀出校正來糾正預期結果 225

8.5.1 準備工作 226

8.5.2 操作步驟 228

8.6 用量子糾錯減輕意外情況造成的影響 230

8.6.1 準備工作 231

8.6.2 操作步驟 235

8.6.3 運行原理 238

8.6.4 知識拓展 242

8.6.5 參考資料 242

 

第9章 Grover搜索算法 243

9.1 技術要求 243

9.2 瞭解量子相位反沖 244

9.2.1 準備工作 245

9.2.2 操作步驟 245

9.3 經典搜索算法簡介 252

9.3.1 準備工作 252

9.3.2 操作步驟 252

9.4 搭建Grover搜索算法 254

9.4.1 準備工作 255

9.4.2 操作步驟 260

9.4.3 知識拓展 268

9.4.4 參考資料 269

9.5 使用3量子比特Grover算法進行搜索 270

操作步驟 270

9.6 在Grover搜索過程中加入更多量子比特 274

9.6.1 準備工作 275

9.6.2 操作步驟 276

9.6.3 知識拓展 281

9.7 在代碼中使用Grover量子線路 282

9.7.1 準備工作 282

9.7.2 操作步驟 282

9.7.3 知識拓展 283

 

第 10章 使用Aqua瞭解算法 284

10.1 技術要求 284

10.2 以Aqua函數的形式運行Grover算法 284

10.2.1 準備工作 285

10.2.2 操作步驟 285

10.2.3 運行原理 290

10.2.4 知識拓展 290

10.3 以Aqua函數的形式運行Shor算法 293

10.3.1 準備工作 294

10.3.2 操作步驟 294

10.3.3 知識拓展 297

10.3.4 參考資料 298

10.4 瞭解Aqua中的更多算法 298

10.4.1 準備工作 299

10.4.2 操作步驟 299

10.4.3 知識拓展 300

10.4.4 參考資料 300

感謝閱讀 302