《量子計算機編程從入門到實踐》是2021年人民郵電出版社出版的圖書。
基本介紹
- 中文名:量子計算機編程從入門到實踐
- 出版時間:2021年7月1日
- 出版社:人民郵電出版社
- ISBN:9787115566355
內容簡介,圖書目錄,
內容簡介
量子計算被譽為下一代編程範式。隨著一些量子計算平台和模擬器向公眾開放,普通程式設計師也可以嘗試編寫量子計算程式,感受前沿科技的無窮魅力。《量子計算機編程:從入門到實踐》不會解釋晦澀的量子力學理論,而會採用直觀的圓形表示法描繪量子比特,並從實踐角度展示如何編寫有趣的量子計算程式。通過《量子計算機編程:從入門到實踐》提供的線上實驗室網站,你可以動手運行書中的JavaScript示例代碼。全書分為四大部分,分別介紹量子計算機編程的核心概念、原語、套用和發展趨勢。你將了解量子隱形傳態、量子算術運算、量子傅立葉變換和量子相位估計等知識,以及量子搜尋、量子超採樣、量子機器學習等高級主題。
圖書目錄
譯者序 xi
前言 xiii
第 1章 入門 1
1.1 所需背景 1
1.2 何謂QPU 2
1.3 動手實踐 3
1.4 原生QPU指令 6
1.4.1 模擬器的上限 7
1.4.2 硬體的上限 7
1.5 QPU與GPU的共同點 8
第 2章 單個量子比特 11
2.1 物理量子比特概覽 12
2.2 圓形表示法 15
2.2.1 圓的大小 15
2.2.2 圓的旋轉 16
2.3 第 一批QPU指令 17
2.3.1 QPU指令:NOT 17
2.3.2 QPU指令:HAD 18
2.3.3 QPU 指令:READ和WRITE 19
2.3.4 實踐:完全隨機的比特 20
2.3.5 QPU 指令:PHASE(θ) 23
2.3.6 QPU 指令:ROTX(θ) 和ROTY(θ) 23
2.4 複製:缺失的指令 24
2.5 組合QPU 指令 24
2.6 實踐:量子監聽檢測 27
2.7 小結 30
第3章 多個量子比特 31
3.1 多量子比特暫存器的圓形表示法 31
3.2 繪製多量子比特暫存器 34
3.3 多量子比特暫存器中的單量子比特運算 34
3.4 可視化更多數量的量子比特 37
3.5 QPU 指令:CNOT 38
3.6 實踐:利用貝爾對實現共享隨機性 41
3.7 QPU 指令:CPHASE(θ) 和CZ 42
3.8 QPU 指令:CCNOT 45
3.9 QPU 指令:SWAP 和CSWAP 46
3.10 構造任意的條件運算 50
3.11 實踐:遠程控制隨機 53
3.12 小結 55
第4章 量子隱形傳態 56
4.1 動手嘗試 56
4.2 程式步驟 61
4.2.1 步驟1:創建糾纏對 61
4.2.2 步驟2:準備有效載荷 62
4.2.3 步驟3.1:將有效載荷連結到糾纏對 62
4.2.4 步驟3.2:將有效載荷置於疊加態 63
4.2.5 步驟3.3:讀取Alice 的兩個量子比特 64
4.2.6 步驟4:接收和轉換 64
4.2.7 步驟5:驗證結果 65
4.3 解釋結果 66
4.4 如何利用隱形傳態 67
4.5 著名的隱形傳態事故帶來的樂趣 67
第5章 量子算術與邏輯 71
5.1 奇怪的不同 71
5.2 QPU 中的算術運算 73
5.3 兩個量子整數相加 76
5.4 負整數 77
5.5 實踐:更複雜的數學運算 78
5.6 更多量子運算 79
5.6.1 量子條件執行 79
5.6.2 相位編碼結果 80
5.7 可逆性和臨時量子比特 82
5.8 反計算 84
5.9 QPU 中的邏輯運算 86
5.10 小結 88
第6章 振幅放大 89
6.1 實踐:在相位和強度之間相互轉換 89
6.2 振幅放大疊代 92
6.3 更多疊代? 93
6.4 多個標記值 95
6.5 使用振幅放大 100
6.5.1 作為和估計的AA 與QFT 100
6.5.2 用AA 加速傳統算法 100
6.6 QPU 內部 101
6.7 小結 103
第7章 量子傅立葉變換 104
7.1 隱藏模式 104
7.2 QFT、DFT 和FFT 106
7.3 QPU 暫存器中的頻率 106
7.4 DFT 110
7.4.1 實數DFT 輸入與複數DFT 輸入 111
7.4.2 DFT 一切 113
7.5 使用QFT 117
7.6 QPU 內部 122
7.6.1 直觀理解 124
7.6.2 逐步運算 124
7.7 小結 128
第8章 量子相位估計 129
8.1 了解QPU 運算 129
8.2 本徵相位揭示有用信息 130
8.3 相位估計的作用 131
8.4 如何使用相位估計 132
8.4.1 輸入 132
8.4.2 輸出 134
8.5 使用細節 135
8.5.1 選擇輸出暫存器的大小 135
8.5.2 複雜度 136
8.5.3 條件運算 136
8.6 實踐中的相位估計 136
8.7 QPU 內部 137
8.7.1 直觀理解 138
8.7.2 逐步運算 139
8.8 小結 141
第9章 真實的數據 145
9.1 非整型數據 146
9.2 QRAM 147
9.3 向量的編碼 150
9.3.1 振幅編碼的局限性 153
9.3.2 振幅編碼和圓形表示法 154
9.4 矩陣的編碼 155
9.4.1 QPU運算如何表示矩陣 155
9.4.2 量子模擬 156
第 10章 量子搜尋 160
10.1 相位邏輯 161
10.1.1 構建基本的相位邏輯運算 163
10.1.2 構建複雜的相位邏輯語句 163
10.2 解決邏輯謎題 166
10.3 求解布爾可滿足性問題的一般方法 170
10.3.1 實踐:一個可滿足的3-SAT問題 170
10.3.2 實踐:一個不可滿足的3-SAT 問題 173
10.4 加速傳統算法 175
第 11章 量子超採樣 177
11.1 QPU 能為計算機圖形學做什麼 177
11.2 傳統超採樣 178
11.3 實踐:計算相位編碼圖像 179
11.3.1 QPU 像素著色器 180
11.3.2 使用PHASE 畫圖 181
11.3.3 繪製曲線 184
11.4 採樣相位編碼圖像 185
11.5 更有趣的圖像 187
11.6 超採樣 188
11.7 量子超採樣與蒙特卡羅採樣 190
11.8 增加顏色 195
11.9 小結 196
第 12章 舒爾分解算法 197
12.1 實踐:在QPU上套用舒爾分解算法 198
12.2 算法說明 199
12.2.1 我們需要QPU嗎 200
12.2.2 量子方法 201
12.3 逐步操作:分解數字15 203
12.3.1 步驟1:初始化QPU暫存器 204
12.3.2 步驟2:擴展為量子疊加態 205
12.3.3 步驟3:條件乘2 207
12.3.4 步驟4:條件乘4 209
12.3.5 步驟5:QFT 211
12.3.6 步驟6:讀取量子結果 213
12.3.7 步驟7:數字邏輯 214
12.3.8 步驟8:檢查結果 216
12.4 使用細節 216
12.4.1 求模 216
12.4.2 時間與空間 217
12.4.3 除了2 以外的互質 217
第 13章 量子機器學習 218
13.1 求解線性方程組 219
13.1.1 線性方程組的描述與求解 219
13.1.2 用QPU 解線性方程組 220
13.2 量子主成分分析 228
13.2.1 傳統主成分分析 228
13.2.2 用QPU 進行主成分分析 230
13.3 量子支持向量機 233
13.3.1 傳統支持向量機 233
13.3.2 用QPU實現支持向量機 236
13.4 其他機器學習套用 238
第 14章 保持領先:文獻指引 243
14.1 從圓形表示法到復向量 243
14.2 與術語有關的一些細節和注意事項 245
14.3 測量基 246
14.4 門的分解與編譯 247
14.5 隱形傳態門 248
14.6 QPU 名人堂 248
14.7 競賽:量子計算機與傳統計算機 249
14.8 基於oracle 的算法研究 249
14.8.1 Deutsch-Jozsa 算法 250
14.8.2 Bernstein-Vazirani算法 250
14.8.3 Simon算法 250
14.9 量子程式語言 251
14.10 量子模擬的前景 252
14.11 糾錯與NISQ設備 252
14.12 進一步學習 252
14.12.1 出版物 253
14.12.2 課程講義 253
14.12.3 線上資源 253
關於作者 254
關於封面 254