量子计算编程实战:基于IBM QX量子计算平台
作者:[美] 克里斯丁·,科比特·,莫兰 著,王保新 译
出版社:清华大学出版社
出版时间:2020-05-01
ISBN:9787302550389
定价:¥99.00
第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 设置Jupyter Notebook 6
1.5 设置并运行IBM QX示例 7
1.5.1 简单示例:Hello Quantum World 7
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和T2 35
3.6.1 退相干 35
3.6.2 关于T1和T2 36
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.2 CNOT门的Python代码 57
4.5.3 可以选择控制量子比特和目标量子比特的CNOT 58
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 通过模拟或在Quantum Composer硬件上执行量子电路 81
6.4.1 通过模拟执行量子电路 82
6.4.2 在量子计算机硬件上执行量子电路 84
6.5 小结 85
6.6 练习和问题 85
第7章 OpenQASM 87
7.1 技术要求 87
7.2 关于OpenQASM 87
7.3 将OpenQASM程序转换为量子乐谱 89
7.3.1 使用OpenQASM取反一个量子比特 89
7.3.2使用OpenQASM将门应用于两个量子比特,并测量第一个量子比特 90
7.4 在OpenQASM 2.0程序中表示量子乐谱 91
7.5 使用OpenQASM与IBM QX连接 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 安装和使用Qiskit 103
8.2.1 测试Qiskit安装 104
8.2.2 在Qiskit中使用OpenQASM 105
8.2.3 认识和安装Qiskit Aqua 107
8.3 关于Qiskit Terra顶点项目 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 有趣的3SAT 123
9.3 量子AND和OR 124
9.3.1 关于Toffoli门—量子AND门 124
9.3.2 量子OR门 127
9.3.3 多个量子比特上的量子AND和量子OR 131
9.4 关于3SAT量子电路的实现 132
9.5 小结 135
9.6 练习和问题 135
第10章 Grover算法 137
10.1 技术要求 137
10.2 Grover算法概述和用例 137
10.2.1 Grover算法概述 137
10.2.2 Grover算法的步骤 139
10.3 使用3SAT作为Grover算法checker 141
10.3.1 在Qiskit中的2个和3个量子比特的量子AND 142
10.3.2 在Qiskit中的2个和3个量子比特的量子OR 142
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 在IBM QX中实现QFT电路 175
11.4.1 在IBM QX中实现REV门 175
11.4.2 在IBM QX中实现Rk门 175
11.4.3 在IBM QX中实现1-qubit的QFT电路 177
11.4.4 在IBM QX中实现2-qubit的QFT电路 177
11.4.5 在IBM QX中实现3-qubit的QFT电路 178
11.5 泛化 179
11.6 小结 179
11.7 练习和问题 179
第12章 Shor算法 181
12.1 关于Shor算法 181
12.1.1 Shor算法的作用 181
12.1.2 被颠覆的现代密码学 182
12.2 Shor算法概述 183
12.2.1 Shor算法描述 185
12.2.2 以符号/数学方式描述的Shor算法 186
12.3 Shor算法示例 186
12.3.1 示例:N为素数且N = 7 187
12.3.2 示例:N是两个素数的乘积,N较小且N = 15 187
12.3.3 示例:N是两个素数的乘积,N较大且N = 2257 187
12.3.4 示例:N是一个素数和一个非素数的乘积且N = 837 188
12.4 在Python中实现Shor算法 188
12.4.1 Shor算法的经典实现 189
12.4.2 Shor算法的量子实现 190
12.4.3 在量子计算机上的示例实现:N = 15,a = 2 191
12.4.4 在量子计算机上的示例实现:N = 35,a = 8 205
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
附录A 229
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