內容簡介
本書討論了如何擴展當前計算機的新程式設計方法和技術,以利用量子計算機的獨特能力。相比於現有計算機系統,量子計算機在處理速度上具有顯著優勢。世界各地的政府和企業都投入了大量資金,希望建造實用的量子計算機。本書結合作者在量子計算領域多年的研究經驗,並輔以大量的例子和插圖,介紹了量子程式語言及其所需的重要工具和技術,對於學者、研究人員和開發人員來說都是非常寶貴的參考資料。
圖書目錄
出版者的話
序言一
序言二
前言
致謝
第一部分 引言和預備知識
第 1 章 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1 量子編程研究簡史 . . . . . . . . . . . . . . . 2
1.1.1 量子程式語言的設計. . . . . . . . . .2
1.1.2 量子程式語言的語義. . . . . . . . . .3
1.1.3 量子程式的驗證和分析 . . . . . . . 3
1.2 量子編程的方法 . . . . . . . . . . . . . . . . . 4
1.2.1 數據疊加——帶經典控制的量子程式 . . . . . . . . . . . . . . . . . . . . 4
1.2.2 程式疊加——帶量子控制的量子程式 . . . . . . . . . . . . . . . . . . . . 5
1.3 全書結構. . . . . . . . . . . . . . . . . . . . . . . . .5
第 2 章 預備知識 . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 量子力學. . . . . . . . . . . . . . . . . . . . . . . . .8
2.1.1 希爾伯特空間 . . . . . . . . . . . . . . . . 8
2.1.2 線性運算元 . . . . . . . . . . . . . . . . . . . 12
2.1.3 么正變換 . . . . . . . . . . . . . . . . . . . 14
2.1.4 量子測量 . . . . . . . . . . . . . . . . . . . 16
2.1.5 希爾伯特空間的張量積 . . . . . . 18
2.1.6 密度運算元 . . . . . . . . . . . . . . . . . . . 20
2.1.7 量子操作 . . . . . . . . . . . . . . . . . . . 22
2.2 量子線路 . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.1 基本定義 . . . . . . . . . . . . . . . . . . . 24
2.2.2 單量子比特門 . . . . . . . . . . . . . . .26
2.2.3 受控門 . . . . . . . . . . . . . . . . . . . . . 27
2.2.4 量子多路復用器. . . . . . . . . . . . .29
2.2.5 量子門的通用性. . . . . . . . . . . . .31
2.2.6 量子線路的測量. . . . . . . . . . . . .31
2.3 量子算法 . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.1 量子並行性與量子干涉 . . . . . . 33
2.3.2 Deutsch-Jozsa 算法 . . . . . . . . . 35
2.3.3 Grover 搜尋算法 . . . . . . . . . . . . 36
2.3.4 量子遊走 . . . . . . . . . . . . . . . . . . . 39
2.3.5 量子遊走搜尋算法. . . . . . . . . . .42
2.3.6 量子傅立葉變換. . . . . . . . . . . . .44
2.3.7 相位估計 . . . . . . . . . . . . . . . . . . . 45
2.4 文獻註解 . . . . . . . . . . . . . . . . . . . . . . . 48
第二部分 帶經典控制的量子程式
第 3 章 量子程式的語法和語義. . . . . . . . .50
3.1 語法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2 操作語義 . . . . . . . . . . . . . . . . . . . . . . . 53
3.3 指稱語義 . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.1 語義函式的基本屬性 . . . . . . . . 61
3.3.2 量子域 . . . . . . . . . . . . . . . . . . . . . 62
3.3.3 循環的語義函式. . . . . . . . . . . . .64
3.3.4 量子變數的改變與訪問 . . . . . . 65
3.3.5 終止和發散的機率. . . . . . . . . . .66
3.3.6 作為量子操作的語義函式 . . . . 68
3.4 量子編程中的經典遞歸 . . . . . . . . . 69
3.4.1 語法 . . . . . . . . . . . . . . . . . . . . . . . 70
3.4.2 操作語義 . . . . . . . . . . . . . . . . . . . 71
3.4.3 指稱語義 . . . . . . . . . . . . . . . . . . . 71
3.4.4 不動點特性 . . . . . . . . . . . . . . . . . 74
3.5 例子:Grover 量子搜尋 . . . . . . . . . 77
3.6 引理的證明 . . . . . . . . . . . . . . . . . . . . . 79
3.7 文獻註解 . . . . . . . . . . . . . . . . . . . . . . . 83
第 4 章 量子程式的邏輯 . . . . . . . . . . . . . . . . 85
4.1 量子謂詞 . . . . . . . . . . . . . . . . . . . . . . . 85
4.1.1 量子最弱前置條件. . . . . . . . . . .87
4.2 量子程式的 Floyd-Hoare 邏輯. . .91
4.2.1 正確性公式 . . . . . . . . . . . . . . . . . 91
4.2.2 量子程式的最弱前置條件 . . . . 94
4.2.3 部分正確性的證明系統 . . . . . 101
4.2.4 整體正確性的證明系統 . . . . . 107
4.2.5 例子:推理 Grover 算法 . . . . 114
4.3 量子最弱前置條件的可交換性 . . . . . . . . . . . . . . . . . . . . . . 119
4.4 文獻註解 . . . . . . . . . . . . . . . . . . . . . . 123
第 5 章 量子程式的分析. . . . . . . . . . . . . . .124
5.1 量子 while 循環的終止性分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.1.1 使用么正操作作為循環體的量子 while 循環 . . . . . . . . . . . 124
5.1.2 一般性量子 while 循環. . . . .132
5.1.3 例子 . . . . . . . . . . . . . . . . . . . . . . 143
5.2 量子圖理論 . . . . . . . . . . . . . . . . . . . . 145
5.2.1 基本定義 . . . . . . . . . . . . . . . . . . 146
5.2.2 末端強連通分量 . . . . . . . . . . . 149
5.2.3 狀態希爾伯特空間的分解 . . . 153
5.3 量子馬爾可夫鏈的可達性分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.3.1 可達性機率. . . . . . . . . . . . . . . .158
5.3.2 重複可達性機率 . . . . . . . . . . . 160
5.3.3 持續性機率. . . . . . . . . . . . . . . .163
5.4 引理的證明 . . . . . . . . . . . . . . . . . . . . 165
5.5 文獻註解 . . . . . . . . . . . . . . . . . . . . . . 173
第三部分 帶量子控制的量子程式
第 6 章 量子 case 語句 . . . . . . . . . . . . . . . 176
6.1 case 語句:從經典到量子 . . . . . . 176
6.2 QuGCL:支持量子 case 語句的程式語言 . . . . . . . . . . . . . . . . . . . . . . 179
6.3 量子操作的衛式組合 . . . . . . . . . . 182
6.3.1 么正運算元的衛式組合 . . . . . . . 182
6.3.2 運算元值函式. . . . . . . . . . . . . . . .183
6.3.3 運算元值函式的衛式組合 . . . . . 185
6.3.4 量子操作的衛式組合 . . . . . . . 187
6.4 QuGCL 程式的語義 . . . . . . . . . . . 189
6.4.1 經典態 . . . . . . . . . . . . . . . . . . . . 189
6.4.2 半經典語義. . . . . . . . . . . . . . . .190
6.4.3 純量子語義. . . . . . . . . . . . . . . .192
6.4.4 最弱前置條件語義 . . . . . . . . . 194
6.4.5 例子 . . . . . . . . . . . . . . . . . . . . . . 195
6.5 量子選擇 . . . . . . . . . . . . . . . . . . . . . . 197
6.5.1 選擇:通過機率性從經典轉換到量子. . . . . . . . . . . . . . . .197
6.5.2 機率性選擇的量子實現 . . . . . 199
6.6 代數法則 . . . . . . . . . . . . . . . . . . . . . . 202
6.7 例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.7.1 量子遊走 . . . . . . . . . . . . . . . . . . 204
6.7.2 量子相位估算. . . . . . . . . . . . . .206
6.8 討論 . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6.8.1 量子操作衛式組合的係數 . . . 208
6.8.2 通過子空間控制的量子case 語句 . . . . . . . . . . . . . . . . . 211
6.9 引理、命題和定理的證明 . . . . . . 213
6.10 文獻註解 . . . . . . . . . . . . . . . . . . . . . 225
第 7 章 量子遞歸 . . . . . . . . . . . . . . . . . . . . . . 227
7.1 量子遞歸程式的語法 . . . . . . . . . . 227
7.2 啟發性示例:遞歸量子遊走. . . . 230
7.2.1 遞歸量子遊走的規範 . . . . . . . 230
7.2.2 如何求解遞歸量子方程 . . . . . 234
7.3 二次量子化 . . . . . . . . . . . . . . . . . . . . 235
7.3.1 多粒子態 . . . . . . . . . . . . . . . . . . 235
7.3.2 Fock 空間 . . . . . . . . . . . . . . . . . 238
7.3.3 Fock 空間的可觀測量 . . . . . . 241
7.3.4 Fock 空間的演變. . . . . . . . . . .243
7.3.5 粒子的產生與湮滅 . . . . . . . . . 244
7.4 在自由 Fock 空間中求解遞歸方程 . . . . . . . . . . . . . . . . . . . . . . 245
7.4.1 自由 Fock 空間中運算元的域 . . . . . . . . . . . . . . . . . . . . . . 245
7.4.2 程式模式的語義泛函 . . . . . . . 248
7.4.3 不動點語義. . . . . . . . . . . . . . . .251
7.4.4 語法逼近 . . . . . . . . . . . . . . . . . . 252
7.5 恢復對稱性與反對稱性 . . . . . . . . 257
7.5.1 對稱函式 . . . . . . . . . . . . . . . . . . 258
7.5.2 量子遞歸程式語義的對稱性 . . . . . . . . . . . . . . . . . . . . 259
7.6 量子遞歸的主系統語義 . . . . . . . . 260
7.7 例子:回顧遞歸量子遊走 . . . . . . 261
7.8 (帶量子控制的)量子 while循環 . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
7.9 文獻註解 . . . . . . . . . . . . . . . . . . . . . . 268
第四部分 發展前景
第 8 章 發展前景 . . . . . . . . . . . . . . . . . . . . . . 272
8.1 量子程式與量子機 . . . . . . . . . . . . . 272
8.2 量子程式語言的實現 . . . . . . . . . . 273
8.3 函式式量子編程 . . . . . . . . . . . . . . . 274
8.4 量子程式的範疇語義 . . . . . . . . . . 275
8.5 從並行量子程式到量子並行 . . . 275
8.6 量子編程中的糾纏 . . . . . . . . . . . . . 276
8.7 模型檢測量子系統 . . . . . . . . . . . . . 277
8.8 套用於物理學的量子編程. . . . . .278
參考文獻 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293