《量子计算机编程 从入门到实践(全彩印刷)》PDF电子书免费下载

作者:  [美] 埃里克·R. 约翰斯顿 [英] 尼古拉斯·哈里根 [西] 梅塞德丝·希梅

出版社: 人民邮电出版社

出版年: 2021年07月

ISBN: 9787115566355

~~滚到底部有网盘下载链接~~

内容简介

目录

译者序 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
显示部分信息

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?