【網(wǎng)店勿用!此為申報選題所填信息,網(wǎng)店請調(diào)用*終版】本書討論了如何擴(kuò)展當(dāng)前計算機(jī)的新程序設(shè)計方法和技術(shù),以利用量子計算機(jī)的獨(dú)特能力。相比于現(xiàn)有計算機(jī)系統(tǒng),量子計算機(jī)在處理速度上具有顯著優(yōu)勢。世界各地的政府和企業(yè)都投入了大量資金,希望建造實(shí)用的量子計算機(jī)。本書結(jié)合作者在量子計算領(lǐng)域多年的研究經(jīng)驗,并輔以大量的例子和插圖,介紹了量子編程語言及其所需的重要工具和技術(shù),對于學(xué)者、研究人員和開發(fā)人員來說都是非常寶貴的參考資料。
就像上世紀(jì)經(jīng)典計算機(jī)改變了我們的生活一樣,本世紀(jì)量子計算機(jī)可能也會以相同的方式改變我們的日常生活。
摘自 2012 年諾貝爾物理學(xué)獎新聞稿
相較于現(xiàn)有的計算機(jī),量子計算機(jī)有著巨大的優(yōu)勢。政府和工業(yè)界都在該領(lǐng)域投入了大量的時間和經(jīng)費(fèi),希望能夠研發(fā)出實(shí)用的量子計算機(jī)。近年來物理實(shí)驗領(lǐng)域的快速發(fā)展,使人們普遍期望在 10.20 年內(nèi)實(shí)現(xiàn)規(guī)模大、功能全的量子計算機(jī)硬件。然而,要發(fā)揮量子計算的超級計算能力,僅僅依靠量子硬件顯然是不夠的,量子軟件也必須發(fā)揮關(guān)鍵作用。目前廣泛使用的軟件開發(fā)技術(shù)不能直接應(yīng)用于量子計算機(jī)。經(jīng)典世界和量子世界的本質(zhì)差異意味著需要新技術(shù)來為量子計算機(jī)編程。
關(guān)于量子編程的研究早在 1996 年就開始了,在之后的 20 年中,豐富的研究成果不斷出現(xiàn)在各種會議報告和期刊論文中。另一方面,量子編程仍然是一個不成熟的課題,它的知識基礎(chǔ)呈現(xiàn)高度碎片化和不連貫性。本書的目的就是對量子編程這一課題做系統(tǒng)和詳盡的探索。
因為量子編程仍處于初級發(fā)展階段,所以本書并沒有將重點(diǎn)放在特定的量子編程語言或技術(shù)上,我相信這些特定的技術(shù)和語言在未來仍會面臨巨大的改變。取而代之的是,我們將重點(diǎn)放在不同語言和技術(shù)所廣泛使用的基礎(chǔ)概念、方法和數(shù)學(xué)工具上。從量子力學(xué)和量子計算的基礎(chǔ)概念開始,本書詳細(xì)介紹了多種量子程序結(jié)構(gòu)和一系列量子編程模型,它們都能夠有效地利用量子計算機(jī)非比尋常的計算能力。此外,我們還系統(tǒng)地討論了量子程序的語義、邏輯和分析與驗證技術(shù)。
隨著量子計算技術(shù)方面的大量投資和快速發(fā)展,我相信在未來的 10 年間會有越來越多的研究者加入量子編程這一激動人心的領(lǐng)域,他們需要一本參考書來作為研究工作的起點(diǎn)。
同樣,越來越多的大學(xué)也會開設(shè)量子編程的課程,老師和學(xué)生也會需要一本參考書。所以,出于以下兩點(diǎn)目的,我決定寫這本書:
. 為未來該領(lǐng)域的研究者提供基礎(chǔ)。
. 作為研究生或高年級本科生課程的教學(xué)材料。
量子編程是高度交叉學(xué)科。新加入該領(lǐng)域的科研人員,尤其是學(xué)生,通常對來自不同學(xué)科的預(yù)備知識感到沮喪。在編寫這本書時,我盡可能使其自成體系,并明確地講解細(xì)節(jié),以便科研人員和廣大程序員都能夠無障礙地閱讀。
寫作本書給了我一個機(jī)會來系統(tǒng)化自己對量子編程的看法。另一方面,本書的選題和材料是根據(jù)我對這一課題的理解來組織的。由于我的知識水平有限,本書正文省略了一些重要的主題。作為補(bǔ)救措施,本書最后的發(fā)展前景一章對這些主題進(jìn)行了簡短的討論。
本書是根據(jù)我在清華大學(xué)智能技術(shù)與系統(tǒng)國家重點(diǎn)實(shí)驗室的量子計算與量子信息組和悉尼科技大學(xué)量子計算與智能系統(tǒng)中心的量子計算實(shí)驗室 15 年來的研究成果編著而成的。我非常享受與那里的同事及學(xué)生的合作和討論。感謝他們每一個人。
特別感謝 Ichiro Hasuo(東京大學(xué))和 Yuan Feng(悉尼科技大學(xué)),他們耐心地閱讀了本書的初稿并提出了寶貴的意見和建議。非常感謝那些匿名的審稿人,他們?yōu)楸緯慕Y(jié)構(gòu)提出了非常有用的建議。還要衷心感謝 Steve Elliot、Punithavathy Govindaradjane、Amy Invernizzi 和 Lindsay Lawrence,他們是 Morgan Kaufmann 負(fù)責(zé)本書的編輯和項目經(jīng)理。
特別感謝悉尼科技大學(xué)工程與信息技術(shù)系的量子計算與智能系統(tǒng)中心給予我研究和探索的自由。
我在量子編程方面的研究受澳大利亞研究理事會、中國國家自然科學(xué)基金和中國科學(xué)院數(shù)學(xué)與系統(tǒng)科學(xué)研究院海外團(tuán)隊項目的支持。非常感謝他們提供的幫助。
出版者的話
序言一
序言二
前言
致謝
第一部分 引言和預(yù)備知識
第 1 章 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1 量子編程研究簡史 . . . . . . . . . . . . . . . 2
1.1.1 量子編程語言的設(shè)計. . . . . . . . . .2
1.1.2 量子編程語言的語義. . . . . . . . . .3
1.1.3 量子程序的驗證和分析 . . . . . . . 3
1.2 量子編程的方法 . . . . . . . . . . . . . . . . . 4
1.2.1 數(shù)據(jù)疊加帶經(jīng)典控制的量子程序 . . . . . . . . . . . . . . . . . . . . 4
1.2.2 程序疊加帶量子控制的量子程序 . . . . . . . . . . . . . . . . . . . . 5
1.3 全書結(jié)構(gòu). . . . . . . . . . . . . . . . . . . . . . . . .5
第 2 章 預(yù)備知識 . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 量子力學(xué). . . . . . . . . . . . . . . . . . . . . . . . .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 量子多路復(fù)用器. . . . . . . . . . . . .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 文獻(xiàn)注解 . . . . . . . . . . . . . . . . . . . . . . . 48
第二部分 帶經(jīng)典控制的量子程序
第 3 章 量子程序的語法和語義. . . . . . . . .50
3.1 語法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2 操作語義 . . . . . . . . . . . . . . . . . . . . . . . 53
3.3 指稱語義 . . . . . . . . . . . . . . . . . . . . . . . 59
3.3.1 語義函數(shù)的基本屬性 . . . . . . . . 61
3.3.2 量子域 . . . . . . . . . . . . . . . . . . . . . 62
3.3.3 循環(huán)的語義函數(shù). . . . . . . . . . . . .64
3.3.4 量子變量的改變與訪問 . . . . . . 65
3.3.5 終止和發(fā)散的概率. . . . . . . . . . .66
3.3.6 作為量子操作的語義函數(shù) . . . . 68
3.4 量子編程中的經(jīng)典遞歸 . . . . . . . . . 69
3.4.1 語法 . . . . . . . . . . . . . . . . . . . . . . . 70
3.4.2 操作語義 . . . . . . . . . . . . . . . . . . . 71
3.4.3 指稱語義 . . . . . . . . . . . . . . . . . . . 71
3.4.4 不動點(diǎn)特性 . . . . . . . . . . . . . . . . . 74
3.5 例子:Grover 量子搜索 . . . . . . . . . 77
3.6 引理的證明 . . . . . . . . . . . . . . . . . . . . . 79
3.7 文獻(xiàn)注解 . . . . . . . . . . . . . . . . . . . . . . . 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 部分正確性的證明系統(tǒng) . . . . . 101
4.2.4 整體正確性的證明系統(tǒng) . . . . . 107
4.2.5 例子:推理 Grover 算法 . . . . 114
4.3 量子最弱前置條件的可交換性 . . . . . . . . . . . . . . . . . . . . . . 119
4.4 文獻(xiàn)注解 . . . . . . . . . . . . . . . . . . . . . . 123
第 5 章 量子程序的分析. . . . . . . . . . . . . . .124
5.1 量子 while 循環(huán)的終止性分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.1.1 使用幺正操作作為循環(huán)體的量子 while 循環(huán) . . . . . . . . . . . 124
5.1.2 一般性量子 while 循環(huán). . . . .132
5.1.3 例子 . . . . . . . . . . . . . . . . . . . . . . 143
5.2 量子圖理論 . . . . . . . . . . . . . . . . . . . . 145
5.2.1 基本定義 . . . . . . . . . . . . . . . . . . 146
5.2.2 末端強(qiáng)連通分量 . . . . . . . . . . . 149
5.2.3 狀態(tài)希爾伯特空間的分解 . . . 153
5.3 量子馬爾可夫鏈的可達(dá)性分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
5.3.1 可達(dá)性概率. . . . . . . . . . . . . . . .158
5.3.2 重復(fù)可達(dá)性概率 . . . . . . . . . . . 160
5.3.3 持續(xù)性概率. . . . . . . . . . . . . . . .163
5.4 引理的證明 . . . . . . . . . . . . . . . . . . . . 165
5.5 文獻(xiàn)注解 . . . . . . . . . . . . . . . . . . . . . . 173
第三部分 帶量子控制的量子程序
第 6 章 量子 case 語句 . . . . . . . . . . . . . . . 176
6.1 case 語句:從經(jīng)典到量子 . . . . . . 176
6.2 QuGCL:支持量子 case 語句的編程語言 . . . . . . . . . . . . . . . . . . . . . . 179
6.3 量子操作的衛(wèi)式組合 . . . . . . . . . . 182
6.3.1 幺正算子的衛(wèi)式組合 . . . . . . . 182
6.3.2 算子值函數(shù). . . . . . . . . . . . . . . .183
6.3.3 算子值函數(shù)的衛(wèi)式組合 . . . . . 185
6.3.4 量子操作的衛(wèi)式組合 . . . . . . . 187
6.4 QuGCL 程序的語義 . . . . . . . . . . . 189
6.4.1 經(jīng)典態(tài) . . . . . . . . . . . . . . . . . . . . 189
6.4.2 半經(jīng)典語義. . . . . . . . . . . . . . . .190
6.4.3 純量子語義. . . . . . . . . . . . . . . .192
6.4.4 最弱前置條件語義 . . . . . . . . . 194
6.4.5 例子 . . . . . . . . . . . . . . . . . . . . . . 195
6.5 量子選擇 . . . . . . . . . . . . . . . . . . . . . . 197
6.5.1 選擇:通過概率性從經(jīng)典轉(zhuǎn)換到量子. . . . . . . . . . . . . . . .197
6.5.2 概率性選擇的量子實(shí)現(xiàn) . . . . . 199
6.6 代數(shù)法則 . . . . . . . . . . . . . . . . . . . . . . 202
6.7 例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.7.1 量子游走 . . . . . . . . . . . . . . . . . . 204
6.7.2 量子相位估算. . . . . . . . . . . . . .206
6.8 討論 . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6.8.1 量子操作衛(wèi)式組合的系數(shù) . . . 208
6.8.2 通過子空間控制的量子case 語句 . . . . . . . . . . . . . . . . . 211
6.9 引理、命題和定理的證明 . . . . . . 213
6.10 文獻(xiàn)注解 . . . . . . . . . . . . . . . . . . . . . 225
第 7 章 量子遞歸 . . . . . . . . . . . . . . . . . . . . . . 227
7.1 量子遞歸程序的語法 . . . . . . . . . . 227
7.2 啟發(fā)性示例:遞歸量子游走. . . . 230
7.2.1 遞歸量子游走的規(guī)范 . . . . . . . 230
7.2.2 如何求解遞歸量子方程 . . . . . 234
7.3 二次量子化 . . . . . . . . . . . . . . . . . . . . 235
7.3.1 多粒子態(tài) . . . . . . . . . . . . . . . . . . 235
7.3.2 Fock 空間 . . . . . . . . . . . . . . . . . 238
7.3.3 Fock 空間的可觀測量 . . . . . . 241
7.3.4 Fock 空間的演變. . . . . . . . . . .243
7.3.5 粒子的產(chǎn)生與湮滅 . . . . . . . . . 244
7.4 在自由 Fock 空間中求解遞歸方程 . . . . . . . . . . . . . . . . . . . . . . 245
7.4.1 自由 Fock 空間中算子的域 . . . . . . . . . . . . . . . . . . . . . . 245
7.4.2 程序模式的語義泛函 . . . . . . . 248
7.4.3 不動點(diǎn)語義. . . . . . . . . . . . . . . .251
7.4.4 語法逼近 . . . . . . . . . . . . . . . . . . 252
7.5 恢復(fù)對稱性與反對稱性 . . . . . . . . 257
7.5.1 對稱函數(shù) . . . . . . . . . . . . . . . . . . 258
7.5.2 量子遞歸程序語義的對稱性 . . . . . . . . . . . . . . . . . . . . 259
7.6 量子遞歸的主系統(tǒng)語義 . . . . . . . . 260
7.7 例子:回顧遞歸量子游走 . . . . . . 261
7.8 (帶量子控制的)量子 while循環(huán) . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
7.9 文獻(xiàn)注解 . . . . . . . . . . . . . . . . . . . . . . 268
第四部分 發(fā)展前景
第 8 章 發(fā)展前景 . . . . . . . . . . . . . . . . . . . . . . 272
8.1 量子程序與量子機(jī) . . . . . . . . . . . . . 272
8.2 量子編程語言的實(shí)現(xiàn) . . . . . . . . . . 273
8.3 函數(shù)式量子編程 . . . . . . . . . . . . . . . 274
8.4 量子程序的范疇語義 . . . . . . . . . . 275
8.5 從并行量子程序到量子并行 . . . 275
8.6 量子編程中的糾纏 . . . . . . . . . . . . . 276
8.7 模型檢測量子系統(tǒng) . . . . . . . . . . . . . 277
8.8 應(yīng)用于物理學(xué)的量子編程. . . . . .278
參考文獻(xiàn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293