給程序員講透量子計算 Quantum Computing for Programmers

Robert Hundt 譯 邱道//華希銘//李灝//黃淮靖

相關主題

商品描述

本書從程序員的角度介紹了量子計算,是一本適合學生和從業人員閱讀的入門書籍。書中使用基於Python和C++開發的開源代碼庫,用完整的數學推導和經典模擬代碼解釋了超過25種基本算法。
在介紹了量子計算的基礎知識後,作者著重講解了一些基礎量子算法和高效模擬它們的基礎設施,包括量子隱形傳態、超密編碼、Bernstein-Vazirani算法和Deutsch-Jozsa算法。高級量子算法的介紹包括量子霸權實驗、量子傅裡葉變換、相位估計、Shor算法、Grover算法、量子計數、振幅放大、量子隨機遊走,以及用於門近似的Solovay-Kitaev算法。通過變分量子本徵求解器、量子近似優化和NP完備問題的zui大割算法以及子集和算法,探索了量子模擬的應用。
書中還探討了程序員生產力、量子噪聲、量子糾錯,以及量子編程語言、編譯器和工具面臨的挑戰,最後還詳細介紹了用於轉譯的編譯器技術。

作者簡介

羅伯特·亨特(Robert Hundt),Google傑出工程師,機器學習編譯器的技術負責人。他主導過Google TPU超級計算機、TensorFlow的XLA編譯器、開源CUDA編譯器的軟件開發,還是開源高層次綜合工具鏈XLS的發起人。他擁有38項專利,發表過超過25篇科學論文,是IEEE的高級會員。

目錄大綱

譯者序
前言
致謝
第1章 數學基礎
1.1 複數
1.2 狄拉克符號、左矢和右矢
1.2.1 內積
1.2.2 外積
1.3 張量積
1.4 酉矩陣與埃爾米特矩陣
1.5 公式的埃爾米特伴隨
1.6 特徵值和特徵向量
1.7 矩陣的跡
第2章 量子計算基礎
2.1 Tensor類
2.2 量子比特
2.3 量子態
2.3.1 量子位元順序
2.3.2 二進製表示
2.3.3 成員函數
2.3.4 量子態構造函數
2.3.5 密度矩陣
2.4 輔助函數
2.4.1 比特轉換
2.4.2 位元迭代
2.5 算子
2.5.1 酉算子
2.5.2 基類
2.5.3 算子的作用
2.5.4 多量子比特
2.5.5 算子填充
2.6 單量子比特閘
2.6.1 單位門
2.6.2 Pauli矩陣
2.6.3 旋轉
2.6.4 相位門
2.6.5 靈活的相位門
2.6.6 門的平方根
2.6.7 投影算子
2.6.8 Hadamard門
2.7 受控門
2.7.1 受控非門
2.7.2 受控–受控非門
2.7.3 交換門
2.7.4 受控交換門
2.8 量子電路表示方法
2.9 Bloch球
2.10 全局相位
2.11 量子糾纏
2.11.1 直積態
2.11.2 糾纏電路
2.11.3 Bell態
2.11.4 GHZ態
2.11.5 最大糾纏
2.12 量子不可複製定理
2.13 對消計算
2.14 約化密度矩陣與分跡
2.15 測量
2.15.1 量子力學的基本假設
2.15.2 投影測量
2.15.3 實現
2.15.4 例子
第3章 簡單演算法
3.1 隨機數產生器
3.2 門的等價
3.2.1 門的根的平方就是門
3.2.2 倒轉受控非門
3.2.3 受控Z門
3.2.4 非Y門
3.2.5 Pauli矩陣的關係
3.2.6 改變旋轉軸
3.2.7 受控–受控門
3.2.8 多重受控門
3.2.9 受控門的等價
3.2.10 交換門
3.3 經典算術
3.4 交換測試
3.5 量子隱形傳態
3.6 超密編碼
3.7 Bernstein-Vazirani演算法
3.8 Deutsch演算法
3.8.1 問題:區分兩種函數
3.8.2 構造Uf
3.8.3 計算算子
3.8.4 實驗
3.8.5 通用oracle算子
3.8.6 Bernstein-Vazirani演算法的oracle形式
3.9 Deutsch-Jozsa演算法
第4章 可擴充、快速模擬
4.1 模擬複雜性
4.2 量子暫存器
4.3 電路
4.3.1 量子比特
4.3.2 門的作用
4.3.3 門
4.3.4 伴隨門
4.3.5 測量
4.3.6 交換算子
4.3.7 多重受控門的構建
4.3.8 例子
4.4 門的快速作用
4.5 加速門的作用
4.5.1 電路的最終實現
4.5.2 過早優化,第一步
4.6 稀疏表示
第5章 超越經典
5.1 1萬年、2天還是200s
5.2 量子隨機電路演算法
5.3 電路構造
5.4 估計
5.5 評估
第6章 複雜演算法
6.1 相位反沖
6.2 量子傅立葉變換
6.2.1 二進制分數
6.2.2 相位門
6.2.3 量子傅立葉變換理論
6.2.4 雙量子位元量子傅立葉變換
6.2.5 量子傅立葉變換算子
6.2.6 線上模擬
6.3 量子算術
6.4 相位估計
6.4.1 特徵值與特徵向量
6.4.2 相位估計理論
6.4.3 推導細節
6.4.4 實現
6.5 Shor演算法
6.5.1 模運算
6.5.2 最大公因子
6.5.3 因子分解
6.5.4 週期尋找
6.5.5 Playground
6.6 求階
6.6.1 主程序
6.6.2 支撐程序
6.6.3 模加法
6.6.4 受控模乘法
6.6.5 連分數
6.6.6 實驗
6.7 Grover演算法
6.7.1 高層次概述
6.7.2 相位反轉
6.7.3 關於均值的反轉
6.7.4 簡單的數字例子
6.7.5 雙量子位元的例子
6.7.6 迭代次數
6.7.7 相位反轉的實現
6.7.8 相位反轉算子
6.7.9 關於均值的反轉的實現
6.7.10 關於均值反轉的算子
6.7.11 Grover演算法的實現
6.8 振幅放大
6.9 量子計數
6.10 量子隨機遊走
6.10.1 一維遊走
6.10.2 付諸行動
6.11 變分量子本徵求解器
6.11.1 系統演化
6.11.2 變分原理
6.11.3 用Pauli基測量
6.11.4 VQE演算法
6.11.5 測量特徵值
6.11.6 多量子比特
6.12 量子近似優化演算法
6.13 最大割算法
6.13.1 NP演算法的Ising公式
6.13.2 最大割/最小割
6.13.3 構造圖
6.13.4 計算最大割
6.13.5 構造哈密頓量
6.13.6 窺視法的VQE
6.14 子集和演算法
6.14.1 實現
6.14.2 實驗
6.15 Solovay–Kitaev定理與演算法
6.15.1 通用門
6.15.2 SU(2)
6.15.3 Bloch球的角度和軸
6.15.4 相似性度量
6.15.5 預計算門
6.15.6 演算法
6.15.7 平衡的群交換子
6.15.8 評估
6.15.9 隨機門序列
第7章 量子糾錯