
资源介绍
采用实践导向的方法,旨在帮助读者深入掌握量子编程。书中通过逐步增加难度的问题、完整的代码实现和测试方法,填补了量子计算教育中从基础概念到实际项目的鸿沟。
主要章节及核心内容
1. 量子计算的 hype 与前景
量子计算的独特性:基于量子力学现象,与经典计算范式根本不同,缺乏日常直觉参考,需依赖数学推理。
量子优势的条件:问题需满足经典计算机难以高效解决、量子计算机能在有效时间内解决、具有实际意义等要求。
量子计算系统组成:包括算法、硬件和软件三个主要部分。
算法:从 20 世纪 80 年代提出概念,到 Shor 算法和 Grover 算法等的出现,是量子计算发展的驱动力。
硬件:处于 “嘈杂中尺度量子(NISQ)” 时代,需实现四个里程碑(概念验证、解决人工问题、容错、解决实际问题)。
软件:包括应用软件、编程工具、中间层软件和控制软件,量子模拟器是重要工具。
学习价值:量子计算领域机会增多,学习它能提升思维能力。
多量子比特态制备:采用递归方法,先制备最低有效量子比特的叠加态,再利用受控门根据其状态调整其余量子比特。
测试方法:借助量子模拟器,通过查看程序状态验证代码正确性,可自动化单元测试。
多量子比特门实现:基于余弦 - 正弦分解,将矩阵表示为特殊结构矩阵的乘积,分别实现块对角矩阵、CS 矩阵等 building blocks。
测试方法:利用量子模拟器获取操作矩阵,与预期矩阵比较验证正确性。
4. 分析量子态
测量的作用:是获取量子系统信息的唯一方式,但具有概率性、信息有限性和改变系统状态等特点。
不同场景下的测量应用:
读取基态信息:测量所有量子比特,结果确定。
区分正交叠加态:利用测量结果唯一对应输入态的特性。
区分非正交态:无法完美区分,需最小化错误概率。
重构量子态:通过多次测量和统计分析,估算态的系数。
联合测量:提取部分信息(如宇称)同时保持系统叠加态。
5. 分析量子操作
获取量子操作信息的方法:通过选择初始态、应用操作、测量结果来学习操作特性。
区分量子门:设计实验,根据不同门对特定态的作用差异进行区分。
重构幺正矩阵:先估计矩阵第一列系数,再确定第二列系数符号。
相位估计问题:获取幺正矩阵对应本征向量的本征相位,有迭代、自适应和量子相位估计等算法,均依赖相位回踢技巧。
6. 在量子计算机上评估经典函数
可逆计算:量子计算中所有操作需可逆,通过保留输入、使用额外比特存储输出实现经典函数的可逆化。
布尔函数实现:将布尔操作转换为可逆形式,再用量子门实现,如 NOT、XOR、AND、OR 等。
布尔表达式评估:先评估子句,再结合结果,需注意辅助量子比特的使用和解除纠缠。
7. Grover 搜索算法
问题定义:在未知结构的函数中找到使函数值为 1 的输入。
量子预言机:包括标记预言机和相位预言机,可相互转换,标记预言机易于实现,相位预言机用于算法核心。
算法步骤:
制备均匀叠加态。
多次迭代:应用相位预言机(标记解)和 “关于均值反射” 操作(放大解的振幅)。
测量获取结果。
特点:具有二次加速,但实际应用需考虑多种因素。
整体特点
实践导向:通过大量实例、代码实现和测试方法,强调动手编程。
难度递进:从简单的单量子比特问题逐步过渡到复杂的多量子比特算法。
跨语言实现:同时使用 Q# 和 Qiskit 两种量子编程语言,展示不同实现方式。