购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

使用 IBM Quantum Experience IBM量子计算云平台 )和 Qiskit 可以搭建一个简单易用又广受青睐的量子计算平台。它们不但可以用于通过云端访问IBM的量子计算机硬件并进行编程,也可以用于在本地模拟器和云端模拟器上运行代码。

本书旨在借助简单示例和高级示例来介绍在Python环境中实现量子编程的方法。基于Python构建的Qiskit( Quantum Information Science Toolkit,量子信息科学工具包 )软件可以安装在本地,是当今最容易使用的量子计算学习工具之一。

本书将从最基本的概念(比如安装和升级Qiskit、查看Qiskit的版本号)开始,逐步介绍Qiskit的类和方法,然后介绍创建和运行量子程序所需的组件,以及如何将这些Qiskit组件集成到混合的量子程序和经典程序中,以利用Python强大的编程功能。

本书将使用模拟器和真实的硬件来探索、比较和对比嘈杂中型量子( Noisy Intermediate-Scale Quantum,NISQ )计算机和通用容错量子(universal fault-tolerant quantum)计算机。其间会仔细探究嘈杂后端的模拟、在真实硬件上缓解噪声和误差的方法,以及使用Shor算法对单个量子比特进行量子纠错。

本书最后将介绍量子算法,并比较量子算法与经典算法的不同之处。本书将仔细研究Grover算法的代码实现,然后使用Qiskit Aqua运行不同版本的Grover算法和Shor算法,以展示如何在Qiskit代码中直接复用这些已经构建好的算法。本书是对IBM公司的量子信息科学工具包Qiskit及其组成(Terra、Aer、Ignis和Aqua)的一次全面介绍。

本书还将使用在线的IBM Quantum Experience用户界面,通过拖放操作进行量子计算。本书中的所有内容和拓展方法都可以在IBM Quantum Experience的云端进行编码。

本书每章都包含代码示例,用于解释每个操作配方中相应的原理。

读者对象

本书适合希望了解如何使用Qiskit和IBM Quantum Experience实现量子解决方案的开发人员、数据科学家、研究人员以及量子计算爱好者阅读。读者最好具备量子计算的基础知识,并且有一定的Python语言编程基础。

本书内容

本书采用以解决问题为导向、以探索方法为基础的写作方法,借助IBM Quantum Experience、Qiskit和Python来介绍量子计算机编程中的细节。

第1章介绍将Qiskit作为Python 3.5的扩展包安装到本地工作站的方法,以及在IBM Quantum Experience上进行注册、获取API密钥和示例代码的步骤。

第2章展示如何使用Python编写简单的脚本,引导读者了解经典比特和量子比特的概念,以及在没有Qiskit和IBM Quantum Experience的情况下,量子门 是如何运行的。

第3章介绍IBM Quantum Experience、IBM Quantum Experience在线版,以及基于云的交互式量子计算机编程工具。在本章中,我们将编写一个简单的程序,并学习在Qiskit和IBM Quantum Experience之间进行交互的方法。

第4章介绍一系列基本的量子程序或量子线路,以深入研究概率计算、叠加和纠缠等基本概念。在本章中,我们将在一台真实的IBM量子计算机上运行我们的第一个量子程序。

第5章着眼于IBM Quantum后端,主要介绍影响量子程序输出结果的各种物理因素。

第6章简单介绍Qiskit以开箱即用的方式提供的量子门,使读者了解量子门对量子比特的作用。本章还介绍了构成其他量子门基础的通用量子门,并从单量子比特门扩展双量子比特门、3量子比特门以及更多量子比特门(更先进的量子线路中会用到这些量子门)。

第7章帮助读者在一系列本地模拟器或云端模拟器上运行自己的量子线路。读者甚至可以将模拟器设置为模拟IBM Quantum后端的行为,以在自己的本地设备上实地测试自己的量子线路。

第8章介绍如何通过理解量子比特的行为来清理测量结果,并探讨如何使用降噪电路(如Shor码)来纠正噪声。

第9章搭建Grover搜索算法。Grover算法是经典搜索算法的二次加速。本章还将用到一个名为量子相位反冲的独特的量子工具,并搭建几个不同版本的算法,以在模拟器和IBM Quantum后端运行。

第10章介绍Grover搜索算法和Shor因子分解算法的Qiskit Aqua预制版本,还简要介绍了Qiskit Aqua算法库。

如何充分利用本书

为了充分利用本书,读者应该对量子计算的基本概念有一些了解。但本书不会花费过多笔墨证明相关概念,也不会深挖概念中的细节。如果读者还具备Python编程技能,则在本书构建一些稍微复杂的混合量子程序和经典程序时,更容易掌握相应内容。读者还需要对线性代数中的向量和矩阵乘法有基本的了解,这对于理解量子门的工作方式大有帮助,不过本书仍将使用Python和NumPy 来完成这项艰巨的工作。

Qiskit支持Python 3.5及以上版本。本书中的代码示例在Anaconda 1.9.12(Python 3.7.0)上使用Anaconda捆绑的Spyder编辑器、Qiskit 0.21.0和在线的IBM Quantum Experience Code Lab环境进行了测试。建议读者使用相同版本的软件进行测试。 XCme15+UA3Pb4yywMVOg4UKGLeMGVOOWvytmJTnTIV60djeBwrTRGpjWIGyVOufb

点击中间区域
呼出菜单
上一章
目录
下一章
×