Python量子計算實踐:基于Qiskit和IBM Quantum Experience平臺
定 價:99.8 元
- 作者:[美]哈西·諾倫(Hassi Norlén)
- 出版時間:2024/4/1
- ISBN:9787115609731
- 出 版 社:人民郵電出版社
- 中圖法分類:TP385
- 頁碼:301
- 紙張:
- 版次:01
- 開本:16開
本書使用Qiskit開源框架和IBM Quantum Experience平臺搭建一個量子計算平臺,并借助Python來介紹實現(xiàn)量子編程的方法。
本書內(nèi)容由淺入深,從搭建編程環(huán)境并編寫一個簡單的量子程序開始,介紹如何使用Python編寫簡單的腳本,Qiskit和IBM Quantum Experience進行交互的方法,概率計算、疊加和糾纏等基本概念,影響量子程序輸出結果的各種物理因素,Qiskit量子門資源庫,使用Aer模擬量子計算機,使用Ignis清理量子操作,Grover搜索算法,以及使用Aqua運行Grover算法和Shor算法等重要內(nèi)容。
本書能夠幫助讀者學會使用Qiskit和IBM Quantum Experience,同時結合Python編程實踐來實現(xiàn)量子比特的可視化并深入理解量子門、貝爾態(tài)、量子線路等概念,進一步掌握在實踐中使用量子算法的方法。
1.內(nèi)容匯集作者多年工作經(jīng)驗的結晶,專業(yè)可靠,而且緊貼實際應用需求。
2.深入淺出的量子計算入門:從基礎概念出發(fā),通過簡單的代碼示例和直觀的解釋,幫助讀者快速理解量子計算的基本原理。
3.書中避免復雜的理論框架,聚焦實際的編程實踐和問題解決,即使沒有深厚的物理背景也能輕松入門。
4.全面覆蓋Qiskit工具包:深入探討了Qiskit工具包的各個組成部分,包括Terra、Aer、Ignis和Aqua,并詳細講解了它們的優(yōu)點和應用場景。讀者將能夠全面掌握量子程序的開發(fā)流程,從編寫量子線路到優(yōu)化量子算法,再到在真實硬件上運行和測試程序。
5.書中還詳細介紹了如何使用預封裝的量子算法,并通過實現(xiàn)Grover算法等案例,展示了量子算法與傳統(tǒng)算法的不同之處,使得讀者能夠將理論知識應用于實際問題的解決中。
[美]哈西·諾倫(Hassi Norlén),IBM沃森物聯(lián)網(wǎng)解決方案的首席信息開發(fā)人員,致力于沃森物聯(lián)網(wǎng)服務產(chǎn)品生態(tài)系統(tǒng)的開發(fā)。擁有超過15年工作經(jīng)驗,曾負責過Web內(nèi)容管理、大數(shù)據(jù)分析、傳感器和IoT、量子計算等多領域工作。
第 1章 搭建編程環(huán)境 1
1.1 技術要求 1
1.2 創(chuàng)建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環(huán)境 13
1.6.1 準備工作 13
1.6.2 操作步驟 14
1.6.3 運行原理 15
第 2章 基于Python的量子計算和量子比特 17
2.1 技術要求 17
2.2 比較經(jīng)典比特和量子比特 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 創(chuàng)建一個Qiskit量子程序 66
4.2.1 所需的類、模塊和函數(shù) 66
4.2.2 使用量子寄存器和經(jīng)典寄存器 67
4.2.3 理解量子線路 67
4.2.4 選擇運行所需的后端 67
4.2.5 以作業(yè)形式運行量子線路 67
4.2.6 接收作業(yè)的結果 68
4.3 再談量子拋硬幣 68
4.3.1 準備工作 69
4.3.2 操作步驟 69
4.3.3 運行原理 71
4.4 獲取統(tǒng)計數(shù)據(jù)——連續(xù)多次拋硬幣 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 拋硬幣中的量子作弊——貝爾態(tài)簡介 80
4.7.1 準備工作 81
4.7.2 操作步驟 81
4.7.3 運行原理 83
4.7.4 知識拓展 84
4.7.5 參考資料 84
4.8 其他量子作弊方法——調(diào)整賠率 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門創(chuàng)建量子疊加 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 使用態(tài)矢量模擬器進行診斷 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 估算可用時間內(nèi)的量子門的數(shù)量 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 經(jīng)典搜索算法簡介 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函數(shù)的形式運行Grover算法 284
10.2.1 準備工作 285
10.2.2 操作步驟 285
10.2.3 運行原理 290
10.2.4 知識拓展 290
10.3 以Aqua函數(shù)的形式運行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