第 1部分 量子計算導論
第 1章 進化,革命,還是炒作? 3
1.1 期望管理 4
1.1.1 硬件 4
1.1.2 軟件 5
1.1.3 算法 8
1.1.4 為什么現在就開始量子計算? 9
1.2 量子計算的顛覆性部分:貼近自然 10
1.2.1 經典計算機的進化 10
1.2.2 量子計算機的進化 11
1.2.3 量子物理 11
1.3 混合計算 11
1.4 為量子計算機抽象軟件 13
1.5 從量子到計算還是從計算到量子 15
本章小結 16
第 2章 “Hello, world”量子計算版 17
2.1 Strange簡介 17
2.2 用Strange運行第 一個示例程序 18
2.3 分析HelloStrange的代碼 20
2.3.1 構建過程 21
2.3.2 代碼 23
2.3.3 Java API及其實現 25
2.4 獲取并安裝Strange代碼 26
2.4.1 下載代碼 26
2.4.2 初識代碼庫 26
2.5 后續(xù)步驟 27
本章小結 27
第3章 量子位與量子邏輯門:量子計算的基本單元 29
3.1 經典位與量子位 30
3.2 量子位的符號表示 31
3.2.1 一個量子位 31
3.2.2 多個量子位 32
3.3 邏輯門:操作和觀測量子位 35
3.4 第 1個量子邏輯門:泡利X門 36
3.5 在Strange中操作量子位 37
3.5.1 QuantumExecutionEnvironment接口 38
3.5.2 Program類 39
3.5.3 Step和邏輯門 39
3.5.4 結果 40
3.6 量子電路的可視化 40
本章小結 42
第2部分 基本概念及其在編程中的應用
第4章 疊加態(tài) 47
4.1 什么是疊加態(tài)? 48
4.2 用概率向量表示量子系統(tǒng)的狀態(tài) 51
4.3 矩陣門操作簡介 55
4.3.1 泡利X門的矩陣表示 56
4.3.2 對疊加態(tài)的量子位運用泡利X門 57
4.3.3 適用于所有邏輯門的矩陣 59
4.4 阿達瑪門:產生疊加態(tài)的門 60
4.5 運用阿達瑪門的Java代碼 61
本章小結 64
第5章 糾纏 65
5.1 預測正反面 65
5.2 獨立概率:經典方式 66
5.3 獨立概率:量子方式 70
5.4 糾纏的物理概念 72
5.5 表征量子糾纏的邏輯門 76
5.5.1 轉換為概率向量 76
5.5.2 受控非門(CNOT門) 76
5.6 創(chuàng)建貝爾態(tài):相關概率 80
5.7 《瑪麗有個小量子位》 82
本章小結 84
第6章 量子網絡初探 85
6.1 量子網絡的拓撲結構 87
6.2 量子網絡的障礙 89
6.2.1 Java中的經典網絡 89
6.2.2 量子不可克隆定理 93
6.2.3 傳輸量子位的物理限制 95
6.3 泡利Z門與觀測 96
6.3.1 泡利Z門 96
6.3.2 觀測 98
6.4 量子遠程傳態(tài) 98
6.4.1 量子遠程傳態(tài)的目標 98
6.4.2 第 1步:Alice和Bob之間的糾纏 99
6.4.3 第 2步:Alice的操作 100
6.4.4 第3步:Bob的操作 101
6.4.5 運行應用程序 102
6.4.6 量子與經典通信 105
6.5 量子中繼器 105
本章小結 109
第3部分 量子算法與代碼
第7章 對“Hello, world”的解釋 113
7.1 從硬件到高級語言 114
7.2 不同層次的抽象 115
7.3 量子計算模擬器的其他語言 116
7.3.1 方式 116
7.3.2 其他語言資源 117
7.4 Strange:高/低級方法 117
7.4.1 頂級API 118
7.4.2 低級API 118
7.4.3 何時使用何種接口 120
7.5 StrangeFX:一種開發(fā)工具 120
7.5.1 電路的可視化 120
7.5.2 調試Strange代碼 122
7.6 使用Strange創(chuàng)建個人電路 125
7.6.1 量子算術:舒爾算法小引 126
7.6.2 將兩個量子位相加 126
7.6.3 包含進位位的量子算術 128
7.6.4 后續(xù)步驟 131
7.7 模擬器、云服務和真正的硬件 131
本章小結 133
第8章 利用量子計算的安全通信 135
8.1 初始啟動問題 135
8.1.1 利用網絡傳輸位的問題 136
8.1.2 利用一次性密鑰確保安全 137
8.1.3 共享密鑰 139
8.2 量子密鑰分配 139
8.3 樸素方法 140
8.4 利用疊加態(tài) 144
8.4.1 應用兩個阿達瑪門 144
8.4.2 發(fā)送疊加態(tài)量子位 145
8.5 BB84 149
8.5.1 迷惑Eve 149
8.5.2 Bob也迷惑了 151
8.5.3 Alice和Bob進行通信 152
8.6 Java中的量子密鑰分配 152
8.6.1 代碼 153
8.6.2 運行應用程序 155
本章小結 157
第9章 多伊奇-約薩算法 159
9.1 當解答不是問題時 159
9.2 函數的性質 161
9.3 可逆量子邏輯門 164
9.3.1 實驗證據 165
9.3.2 數學證明 166
9.4 定義諭示 167
9.5 從函數到諭示 170
9.5.1 常數函數 171
9.5.2 平衡函數 172
9.6 多伊奇算法 173
9.7 多伊奇-約薩算法 178
9.8 結論 180
本章小結 181
第 10章 格羅弗搜索算法 183
10.1 還需要一個新的搜索架構嗎? 183
10.1.1 傳統(tǒng)搜索架構 184
10.1.2 什么是格羅弗搜索算法? 185
10.2 經典搜索問題 185
10.2.1 通用的準備工作 187
10.2.2 搜索列表 188
10.2.3 利用函數搜索 190
10.3 量子搜索:利用格羅弗搜索算法 192
10.4 概率與幅值 194
10.4.1 概率 194
10.4.2 幅值 195
10.5 格羅弗搜索背后的算法 197
10.5.1 運行示例代碼 197
10.5.2 疊加態(tài) 199
10.5.3 量子諭示 200
10.5.4 格羅弗擴散算子:提高概率 204
10.6 結論 205
本章小結 206
第 11章 舒爾算法 207
11.1 一個小示例 208
11.2 營銷炒作 208
11.3 經典分解和量子分解 209
11.4 一個跨領域問題 210
11.5 問題描述 211
11.6 舒爾算法背后的基本原理 213
11.6.1 周期函數 213
11.6.2 解決一個不同的問題 214
11.6.3 求周期的經典方法 217
11.6.4 后處理步驟 218
11.7 基于量子的實現 221
11.8 利用量子邏輯門創(chuàng)建周期函數 223
11.8.1 流程與電路 223
11.8.2 步驟 225
11.9 求周期 226
11.10 實現中的挑戰(zhàn) 226
本章小結 227
附錄A Strange入門 229
A.1 環(huán)境要求 229
A.2 獲取和安裝示例代碼 230
A.3 HelloStrange程序 230
附錄B 線性代數 235
B.1 矩陣與向量的乘法 235
B.2 矩陣乘法 236
B.3 張量積 237