量子計算編程實戰——基于IBM QX量子計算平臺( 簡體 字) | |
作者:[美]克里斯丁· 科比特· 莫蘭 著 王保新 譯 | 類別:1. -> 程式設計 -> 綜合 |
出版社:清華大學出版社 | 3dWoo書號: 52813 詢問書籍請說出此書號! 有庫存 NT售價: 495 元 |
出版日:4/1/2020 | |
頁數:240 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787302550389 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章量子計算概述1
1.1技術要求1 1.2量子計算機1 1.2.1量子計算機的用途2 1.2.2專家觀點:量子計算的重要性3 1.3量子計算的歷史、現狀和未來4 1.3.1量子計算的歷史4 1.3.2量子計算的現狀4 1.3.3量子計算的未來5 1.3.4專家觀點:量子計算的未來前景5 1.4設置并運行Python代碼示例5 1.4.1獲取書籍代碼6 1.4.2設置JupyterNotebook6 1.5設置并運行IBMQX示例7 1.5.1簡單示例:HelloQuantumWorld7 1.5.2關于API密鑰9 1.6設置并運行Qiskit示例9 1.7小結10 1.8練習和問題11 第2章量子比特13 2.1技術要求13 2.2量子比特及其存儲13 2.3模擬量子比特14 2.3.1關于|"0">和|"1">15 2.3.2關于|"0">和|"1">的組合15 2.4量子比特的3種不同表示形式17 2.4.1零基態和一基態的補充說明18 2.4.2加和減基態18 2.4.3順時針和逆時針基態19 2.5布洛赫球面19 2.5.1在布洛赫球面上的|"0">和|"1">等基態20 2.5.2量子比特的布洛赫坐標20 2.5.3在布洛赫球面上繪制布洛赫坐標21 2.6量子比特的疊加和測量23 2.6.1量子比特的量子疊加23 2.6.2量子比特的量子測量23 2.6.3布洛赫球上單個量子比特的測量25 2.7小結26 2.8練習和問題26 第3章量子態、量子寄存器和測量27 3.1技術要求27 3.2量子態和寄存器27 3.3可分離狀態29 3.4量子糾纏31 3.5量子測量和糾纏32 3.6退相干,T1和T235 3.6.1退相干35 3.6.2關于T1和T236 3.7小結38 3.8練習和問題38 第4章使用量子門演化量子態39 4.1技術要求39 4.2門39 4.2.1經典門39 4.2.2量子門40 4.3在狀態上操作的門41 4.4單量子比特門42 4.4.1哈達瑪門(H)44 4.4.2泡利門(X,Y,Z)46 4.4.3相門(S)和π/8門(T)50 4.5多量子比特門55 4.5.1關于CNOT門55 4.5.2CNOT門的Python代碼57 4.5.3可以選擇控制量子比特和目標量子比特的CNOT58 4.6小結58 4.7練習和問題59 第5章量子電路61 5.1技術要求61 5.2量子電路和量子電路圖61 5.3使用Qiskit生成量子電路64 5.3.1在Qiskit中的單量子比特電路64 5.3.2關于Qiskit的QuantumCircuit類和通用門方法64 5.3.3在Qiskit中的多量子比特門65 5.3.4在Qiskit電路中的經典寄存器65 5.3.5在Qiskit電路中的測量66 5.4可逆計算66 5.5有用的量子電路68 5.5.1使用X門準備任何二進制輸入69 5.5.2交換兩個量子比特70 5.6小結71 5.7練習和問題71 第6章量子編輯器73 6.1技術要求73 6.2量子編輯器73 6.2.1硬件75 6.2.2門、操作和屏障76 6.3將量子電路轉換到量子編輯器中79 6.4通過模擬或在QuantumComposer硬件上執行量子電路81 6.4.1通過模擬執行量子電路82 6.4.2在量子計算機硬件上執行量子電路84 6.5小結85 6.6練習和問題85 第7章OpenQASM87 7.1技術要求87 7.2關于OpenQASM87 7.3將OpenQASM程序轉換為量子樂譜89 7.3.1使用OpenQASM取反一個量子比特89 7.3.2使用OpenQASM將門應用于兩個量子比特,并測量第一個量子比特90 7.4在OpenQASM2.0程序中表示量子樂譜91 7.5使用OpenQASM與IBMQX連接94 7.6關于OpenQASM的高級用法96 7.6.1重置量子比特96 7.6.2使用if語句97 7.6.3用戶定義的門和基本門97 7.7小結99 7.8練習和問題99 第8章Qiskit和量子計算機模擬103 8.1技術要求103 8.2安裝和使用Qiskit103 8.2.1測試Qiskit安裝104 8.2.2在Qiskit中使用OpenQASM105 8.2.3認識和安裝QiskitAqua107 8.3關于QiskitTerra頂點項目108 8.3.1關于MIDI規格109 8.3.2關于MIDI的量子計算109 8.4小結116 8.5練習和問題117 第9章量子AND門和量子OR門119 9.1技術要求119 9.2布爾可滿足性問題119 9.2.1關于3SAT經典實現122 9.2.2有趣的3SAT123 9.3量子AND和OR124 9.3.1關于Toffoli門—量子AND門124 9.3.2量子OR門127 9.3.3多個量子比特上的量子AND和量子OR131 9.4關于3SAT量子電路的實現132 9.5小結135 9.6練習和問題135 第10章Grover算法137 10.1技術要求137 10.2Grover算法概述和用例137 10.2.1Grover算法概述137 10.2.2Grover算法的步驟139 10.3使用3SAT作為Grover算法checker141 10.3.1在Qiskit中的2個和3個量子比特的量子AND142 10.3.2在Qiskit中的2個和3個量子比特的量子OR142 10.3.3測試門及其可逆性144 10.4使用Grover算法求解3SAT問題148 10.4.1在Qiskit中的oracle實現149 10.4.2關于mover步驟的實現157 10.4.3完整的算法設置160 10.4.4在Qiskit上運行算法160 10.5小結161 10.6練習和問題162 第11章量子傅里葉變換163 11.1經典傅里葉變換163 11.2傅里葉變換的作用167 11.3量子傅里葉變換的實現及其電路171 11.3.1量子傅里葉變換的實現172 11.3.2量子傅里葉變換電路174 11.4在IBMQX中實現QFT電路175 11.4.1在IBMQX中實現REV門175 11.4.2在IBMQX中實現Rk門175 11.4.3在IBMQX中實現1-qubit的QFT電路177 11.4.4在IBMQX中實現2-qubit的QFT電路177 11.4.5在IBMQX中實現3-qubit的QFT電路178 11.5泛化179 11.6小結179 11.7練習和問題179 第12章Shor算法181 12.1關于Shor算法181 12.1.1Shor算法的作用181 12.1.2被顛覆的現代密碼學182 12.2Shor算法概述183 12.2.1Shor算法描述185 12.2.2以符號/數學方式描述的Shor算法186 12.3Shor算法示例186 12.3.1示例:N為素數且N=7187 12.3.2示例:N是兩個素數的乘積,N較小且N=15187 12.3.3示例:N是兩個素數的乘積,N較大且N=2257187 12.3.4示例:N是一個素數和一個非素數的乘積且N=837188 12.4在Python中實現Shor算法188 12.4.1Shor算法的經典實現189 12.4.2Shor算法的量子實現190 12.4.3在量子計算機上的示例實現:N=15,a=2191 12.4.4在量子計算機上的示例實現:N=35,a=8205 12.5小結209 12.6練習和問題209 第13章量子錯誤和量子糾錯211 13.1量子錯誤211 13.1.1比特翻轉錯誤演示211 13.1.2在模擬器中模擬錯誤213 13.2量子糾錯215 13.2.1單比特翻轉的糾錯216 13.2.2單相位翻轉的量子糾錯221 13.2.3關于Shor代碼221 13.3小結221 13.4練習和問題222 第14章量子計算的未來223 14.1量子計算的關鍵概念225 14.2量子計算的實用領域226 14.3對量子計算的悲觀看法226 14.4對量子計算的樂觀看法226 14.5本書關于量子計算的結論227 附錄A229 A.1實用數學基礎229 A.1.1求和229 A.1.2復數230 A.1.3線性代數230 A.2從矩陣角度看量子比特、狀態和門236 A.2.1量子比特236 A.2.2門237 A.2.3量子測量240 本書詳細闡述了與量子編程相關的基本解決方案,主要包括量子計算概述,量子比特,量子態、量子寄存器和測量,使用量子門演化量子態,量子電路,量子編輯器,OpenQASM,Qiskit和量子計算機模擬,量子AND門和量子OR門,Grover算法,量子傅里葉變換,Shor算法,量子錯誤和量子糾錯,以及量子計算的未來等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。
本書適合作為高等院校計算機及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。 量子計算機可能在計算能力方面帶來巨大的變化。IBM Research首次向公眾公開了量子計算,從而可以通過云從任何臺式機或移動設備訪問IBM QX。本書配有最前沿的實際方案,可幫助你通過對現實需求進行編程來了解量子計算的功能。
本書首先詳細闡釋了量子計算的概念和原理以及可以應用的領域。你將看到如何使用量子計算來改進計算機處理的經典方法,并將經典算法轉換為量子算法。然后,你將探索IBM生態系統,該系統將在量子編輯器(Quantum Composer)和Qiskit的幫助下促進量子開發。在學習這些章節時,你將理解如何在量子處理器上實現算法以及如何實際執行量子計算。 通讀本書,你將會了解如何創建自己的量子程序,探索量子計算對你的業務和職業的影響,并先于他人開拓你未來的編程生涯。 本書適合的讀者 如果你是對學習量子計算感興趣的開發人員或數據科學家,那么此書非常適合你。你應該對Python語言有基本的了解,但是不需要物理、量子力學或高級數學知識。 本書內容綜述 本書共分14章,各章內容分述如下。 第1章“量子計算概述”,詳細闡釋了與經典計算相反的量子計算,重點介紹了與經典計算機相比量子計算的潛在優勢。然后,我們簡要回顧了經典計算和量子計算的歷史,并介紹了當前量子計算的最高水平。 第2章“量子比特”,詳細解釋了為什么量子比特是量子計算的基石以及在Python中進行模擬的代碼。它討論了疊加,并使用Python代碼探索了單個量子比特的三種不同表示形式。此外,本章還介紹了布洛赫球面,并描述了單量子比特的疊加和測量。 第3章“量子態、量子寄存器和測量”,介紹了經典寄存器的量子版本,即量子寄存器。本章討論了量子的可分離狀態和糾纏,并且使用Python實現了對多個可能糾纏的量子比特的量子測量。最后,本章還詳細闡釋了量子退相干和量化退相干的參數。 第4章“使用量子門演化量子態”,詳細介紹了大多數量子計算中常用的門:I、X、Y、Z、H、S、S?、T、T?和CNOT,它們形成通用門集,可以組合起來執行任何量子計算。本章還提供了這些常用量子門的Python實現,并提供了在Python中將這些門應用于各種量子狀態的示例。 第5章“量子電路”,進一步拓展了量子門的概念,介紹了量子電路(即經典電路的量子模擬)。它討論了量子門如何復制經典門,并詳細討論了量子電路的可視表示形式,該可視表示形式可用于輕松定義量子電路,而無需參考數學或使用編程語言。 第6章“量子編輯器”,詳細介紹了如何在IBM QX中使用量子編輯器這個交互界面,通過量子樂譜創建量子電路。量子電路是表示電路的圖形方式。通過量子編輯器,你可以定義自己的電路,并且在IBM QX硬件或軟件模擬器上實現。本章詳細介紹了如何將Python編碼示例轉換為量子編輯器表示形式,并在IBM QX硬件上運行它們。 第7章“使用OpenQASM”,詳細介紹了開放式量子匯編語言(OpenQASM)。你可以在IBM QX中使用該語言。本章復習了前幾章中定義的一些量子電路,并在OpenQASM語言中重新定義它們。本章重點介紹了OpenQASM的規范和實現,并且提供了使用OpenQASM在IBM QX上重新運行電路的示例。 第8章“Qiskit和量子計算機模擬”,詳細介紹了量子信息軟件工具包(Qiskit),重點介紹如何使用它通過云在IBM QX中運行程序以及其量子模擬功能。本章通過一個使用Qiskit的頂點項目,說明了量子電路、測量和Qiskit用法的概念,同時提供了使用量子計算機表示音樂和弦的有用演示。 第9章“量子AND門和量子OR門”,詳細探討了經典布爾邏輯門的一些量子等價物,目的是能夠具體說明要與Grover算法和其他算法一起使用的量子計算機要解決的邏輯問題。 第10章“Grover算法”,詳細介紹了Grover算法的實現,展示了Grover算法在3SAT中的工作原理。最后,本章還提供了OpenQASM、Qiskit和量子樂譜中Grover算法的實現。 第11章“量子傅立葉變換”,詳細介紹了量子傅立葉變換,它是許多重要的量子算法(包括Shor算法)的子例程。本章介紹了如何使用經典算法來計算離散傅里葉變換,即在經典計算機上表示信號的傅立葉變換。最后,在OpenQASM、Qiskit和量子樂譜中給出了量子傅立葉變換算法。 第12章“Shor算法”,詳細探討了Shor算法。它解釋了素因數分解以及它與現代密碼學的關系,執行素數分解的算法的經典實現,并且對比了Shor算法的原理。最后,本章提供了Qiskit中Shor算法的實現。 第13章“量子糾錯”,描述了量子錯誤傳播的問題,并說明了量子糾錯(QEC)的必要性。本章還提供了一種簡單的QEC算法的實現。 第14章“量子計算的未來”,回顧了我們所學到的知識,并討論了可能會受到量子計算影響的領域。量子計算所帶來的變化將對醫學、替代能源、全球金融和全球經濟等產生影響。 |