本书介绍基于我国自主可控量子计算云平台的量子计算编程,涵盖量子计算的核心内容,包括量子计算的基本概念、多种量子算法及其应用,以及本源量子计算云平台和量子计算编程框架QPanda的使用方法。
本书通过算法理论与编程实践相结合的方式,详细讲解算法与编程之间的紧密关系,并通过大量的示例和练习,帮助读者深入理解量子计算的概念和应用,从而逐步掌握量子计算编程技能。
本书既适合量子计算领域的科研人员、工程技术人员和高等院校相关专业的师生阅读,也适合对量子计算有兴趣或参与相关竞赛的人员参考。
1. 大有可为的未来计算模式量子计算的编程实操读本;
2. 量子计算国家队中国科学技术大学郭国平教授团队倾力撰写;
3. 基于我国自主可控量子编程框架QPanda和本源量子计算云平台,构筑中国量子计算生态;
4. 面向实际应用,力求简洁明快,容易上手。
郭国平 第十四届全国人大代表,民革第十四届中央委员会委员,中国科学院量子信息重点实验室副主任,中国科学技术大学讲席教授,中国计算机学会(CCF)量子计算专业委员会秘书长,安徽省量子计算工程研究中心主任,量子计算芯片安徽省重点实验室主任,本源量子创始人、首席科学家,中国自主超导量子计算机研制团队负责人。 窦猛汉 本源量子副总裁兼量子软件中心总监,安徽省量子计算工程研究中心副主任、特聘研究员,本源司南量子操作系统研制团队负责人。主要从事量子操作系统、量子计算框架、量子语言及编译器、量子云计算等技术领域的研究工作。已发表数篇论文,并有50多项相关领域专利获授权。 陈昭昀 合肥综合性国家科学中心人工智能研究院副研究员,国家青年973项目首席科学家。2021年获中国科学技术大学博士学位,主要研究方向为量子软件和实用量子计算。在国际学术期刊、会议发表论文10余篇。曾担任本源量子的量子软件部技术总监,为QPanda、本源量子计算云平台、VQNet等量子软件项目的创始人之一。
目录
第 1 章量子计算的基本概念 1
1.1 量子比特及其特性 1
1.1.1 单量子比特 2
1.1.2 多量子比特 4
1.2 量子计算的基本操作 5
1.2.1 单量子比特逻辑门 6
1.2.2 多量子比特逻辑门 8
1.2.3 量子测量 11
1.2.4 量子线路 13
1.2.5 量子程序 16
1.2.6 QIf 与QWhile 17
1.2.7 基于量子信息的IF 与WHILE 18
第 2 章QPanda 与本源量子计算云平台的使用 20
2.1 QPanda 的安装及使用案例 20
2.2 本源量子计算云平台的使用案例 21
第3 章Shor 算法 27
3.1 量子算术运算 27
3.1.1 量子加法器 27
3.1.2 量子减法器 31
3.1.3 量子乘法器 33
3.1.4 量子除法器 34
3.2 量子傅里叶变换 37
3.2.1 基于QFT 的常数算术运算 41
3.2.2 变量模运算基本组件 50
3.3 量子相位估计 57
3.4 Shor 算法及其应用 61
第4 章量子态制备算法 67
4.1 编码到基向量 67
4.2 编码到量子比特旋转角度与相位 68
4.3 编码到振幅 70
4.3.1 Top-down 振幅编码 72
4.3.2 Bottom-top 振幅编码 74
4.3.3 双向振幅编码 75
4.3.4 基于Schmidt 分解的振幅编码 77
第5 章量子搜索算法 79
5.1 振幅放大算法 79
5.2 Grover 算法 81
5.3 量子行走搜索算法及其应用 85
5.3.1 马尔可夫链与经典随机行走 86
5.3.2 量子行走 88
5.3.3 量子行走搜索算法 89
5.3.4 量子行走搜索算法编程示例 93
第6 章量子线性方程组求解器 97
6.1 哈密顿量模拟 97
6.1.1 基础原理 97
6.1.2 哈密顿量的有效模拟 98
6.1.3 量子行走模拟任意哈密顿量 103
6.2 HHL 算法及其应用 104
6.2.1 基础原理 104
6.2.2 算法流程 105
6.2.3 算法讨论 106
6.2.4 代码实现 107
6.3 量子态层析 113
6.3.1 单量子比特层析 113
6.3.2 多量子比特层析 115
6.3.3 代码实现 116
第7 章变分量子算法 119
7.1 变分量子算法的原理 119
7.2 量子近似优化算法及其应用 123
7.2.1 量子近似优化算法 125
7.2.2 算法原理与参数优化方法 134
7.2.3 量子交替算符拟设 136
7.3 变分量子本征求解器及其应用 145
7.3.1 以泡利算符为基底展开厄米矩阵 146
7.3.2 试验态的制备 148
7.3.3 量子期望估计 149
7.3.4 经典优化器参数优化 155
7.4 量子机器学习算法及其应用 157
第8 章使用含噪声虚拟机验证量子算法 170
8.1 量子计算机的运行机制 170
8.1.1 量子计算机与传统计算机的区别 170
8.1.2 量子程序代码构成 171
8.2 量子逻辑门分解 171
8.2.1 CS 分解 171
8.2.2 QS 分解 173
8.2.3 多控门分解 175
8.2.4 基础逻辑门转换 177
8.3 量子芯片拓扑结构映射 178
8.3.1 Sabre 算法 178
8.3.2 BMT 拓扑映射算法 180
8.4 量子计算机的噪声 181
8.4.1 开放系统 182
8.4.2 Kraus 算符 184
8.4.3 Lindblad 主方程 186
8.4.4 Choi 矩阵 188
8.5 含噪声虚拟机及其使用方法 190
8.5.1 噪声模型介绍 190
8.5.2 噪声接口使用 192
8.6 量子程序的实用分析工具 193
第9 章使用量子计算机运行量子算法 201
9.1 使用本源量子计算云平台运行量子算法 201
9.1.1 本源量子计算云平台 201
9.1.2 图形化编程页面介绍 201
9.1.3 创建量子线路 202
9.2 使用QPanda 运行量子算法 205
9.2.1 概述 205
9.2.2 振幅放大 206
9.3 量子计算机性能分析指标 209
9.3.1 概述 209
9.3.2 线路运行时间 209
9.3.3 每秒线路层操作数 209
9.3.4 量子体积 210
9.3.5 随机基准 211
9.3.6 交叉熵基准 213
第 10 章量子计算数学基础 215
10.1 集合与映射 215
10.1.1 集合的概念 215
10.1.2 集合的关系 218
10.1.3 集合的运算 218
10.1.4 集合的运算法则 220
10.1.5 映射 220
10.2 向量空间 221
10.2.1 向量空间的概念与性质 221
10.2.2 线性无关与基 223
10.2.3 向量的内积 225
10.3 矩阵间的运算 227
10.3.1 矩阵的概念 227
10.3.2 矩阵的加法与乘法 228
10.3.3 可逆矩阵与矩阵相似 231
10.4 矩阵的特征 231
10.4.1 矩阵的特征值与特征向量 231
10.4.2 厄米矩阵 232
10.4.3 对易式与反对易式 233
10.5 矩阵的函数 233
10.6 线性算符与矩阵表示 235
10.6.1 线性算符 235
10.6.2 矩阵表示 235
10.6.3 向量外积 237
10.6.4 对角表示 238
10.6.5 投影算符 238
参考文献 240