本书操作配方中包含的示例程序长短不一,这些示例有助于引导读者迈出量子计算机编程的第一步。读者可以按照本书中的指引,亲自动手输入这些程序的代码,但是方便起见,读者也可以从Packt出版社的GitHub仓库或本书配套资源中直接获取示例代码。
本书中的Python示例代码是为使用3.5及以上版本的Python并在自己的Python环境中安装了Qiskit的用户编写的。这些Python示例代码都保存在以.py为扩展名的脚本文件中。
读者既可以直接在自己的Python环境中输入这些操作配方,也可以将其输入IBM Quantum Experience或本地Anaconda环境中的Jupyter Notebook 中,但直接下载代码或使用Git将示例代码克隆到本地环境中更高效。克隆代码的优点是,如果示例代码有任何更新,可以通过远程代码仓库刷新本地文件。
如果读者不打算使用Git克隆,而是以压缩文件的方式下载这些示例代码,可以按照1.4.2节中相应的操作步骤进行操作。
读者必须先进行以下操作,才能使用Git克隆示例代码。
(1)获取一个GitHub账号。读者可以在GitHub官方网站免费注册一个账号。
(2)在本地环境中安装Git。更多相关信息,参见Git官方网站的帮助文档。
(3)如果读者习惯使用用户界面,可能还需要安装GitHub桌面版(GitHub Desktop)。
本书提供了几种可以将操作配方下载到本地设备上的方法。
每种下载方法都需要先打开网页浏览器,然后跳转到名为“Quantum-Computing-in- Practice-with-Qiskit-and-IBM-Quantum-Experience”的GitHub仓库。
获取操作配方的最简单的方式是仅将示例文件作为压缩文件下载,并在本地设备上解压。
(1)在前面提到的GitHub仓库中,点击“ Clone or download ”按钮,选择“Download zip”。
(2)下载压缩文件并选择文件存储位置。
(3)将文件解压。
(1)点击“Clone or download”按钮并复制GitHub仓库的URL。
(2)打开命令行窗口,定位到想要保存克隆目录的本地位置。
(3)输入如下命令。
$ git clone https://git×××/PacktPublishing/Quantum-Computing-in-Practice-with- Qiskit-and-IBM-Quantum-Experience.git
命令的执行结果大概如下所示。
Cloning into 'Quantum-Computing-in-Practice-with-Qiskitand-IBM-Quantum-
Experience'...
remote: Enumerating objects: 250, done.
remote: Counting objects: 100% (250/250), done.
remote: Compressing objects: 100% (195/195), done.
remote: Total 365 (delta 106), reused 183 (delta 54), pack-reused 115
Receiving objects: 100% (365/365), 52.70 MiB | 5.42 MiB/s, done.
Resolving deltas: 100% (153/153), done.
(1)点击“Clone or download”按钮,选择“Open in desktop”。
(2)在GitHub桌面版的对话框中选择一个下载位置,将GitHub仓库克隆到该位置,并点击“OK”按钮。
读者现在可以浏览本书中的操作配方。每章都包含一个或多个操作配方。如有需要,读者可以将操作配方代码直接复制并粘贴到自己的 Python 环境中,也可以复制并粘贴到IBM Quantum Experience或本地Anaconda环境中的Jupyter Notebook中。
到目前为止,读者已经使用命令行完成了所有操作。下面,本书将带领读者获取下文所示的 Python 程序,并在自己喜欢的Python解释器(如 Anaconda Spyder 或 Jupyter Notebook )中运行它。
如果读者已经下载了本书的示例文件,可以在本地保存的下载文件中对应第1章的目录中找到操作配方文件 ch1_r1_version.py,其代码如下所示,运行后可以列出刚才安装的Qiskit组件的版本信息。
# Import Qiskit
import qiskit
# Set versions variable to the current Qiskit versions
versions=qiskit.__qiskit_version__
# Print the version number for the Qiskit components
print("Qiskit components and versions:")
print("===============================")
for i in versions:
print (i, versions[i])
运行该代码,系统会显示类似图1-2这样的输出结果。
图1-2 Qiskit组件及其版本信息
接下来介绍如何在读者现有的环境中运行脚本。
在本地环境中,读者现在可以在自己选择的Python解释器中运行Python脚本。下面以在Anaconda的Spyder中运行Python脚本为例。
确保是在安装了Qiskit的虚拟环境中运行解释器。否则,解释器找不到Qiskit,无法正常运行脚本。
(1)打开Anaconda的用户界面。
(2)选择虚拟环境。
(3)点击 Spyder 图标。如果读者的虚拟环境中还没有安装Spyder,系统会自动安装。安装Spyder可能需要一些时间。
(4)在Spyder中,打开本章的示例Python脚本chl_rl_version.py。
(5)点击“ Run ”。该脚本会读取已安装的Qiskit组件的版本信息。读者也可以在Jupyter Notebook中打开Python脚本,例如在在线的IBM Quantum Experience的Jupyter Notebook中打开,但是需要一些额外的操作。
(1)打开Anaconda的用户界面。
(2)选择虚拟环境。
(3)点击Jupyter Notebook图标。如果读者的虚拟环境中还没有安装Jupyter Notebook,系统会自动安装。
(4)在根目录中打开的默认浏览器中会打开Jupyter Notebook的界面。找到并点击示例Python脚本chl_rl_version.py。
(5)示例脚本在Jupyter Notebook文本编辑器中被打开。读者现在可以看到代码,但是无法运行。
(6)返回到Jupyter Notebook浏览器,点击“ New Notebook ”。
(7)将Python脚本中的代码复制并粘贴到新建的记事本中,此时可以点击“ Run ”,观察代码的运行过程。
(1)为了在在线的IBM Quantum Experience的Notebook中运行Python脚本,读者需要登录IBM Quantum Experience。
(2)在IBM Quantum Experience的主页面中,点击左侧菜单栏中的“ Quantum Lab ”按钮( ),然后点击“ New Notebook ”,再按照上一部分的步骤7进行操作。
本书后续章节中介绍的基于 Qiskit的 Python 代码可以在任何满足 Qiskit要求的Python环境中运行。读者可以自由选择适合自己的系统环境,还可以在自己选择的系统环境中选择自己喜欢的工具来运行程序。
本书中的代码已经在 Anaconda 中默认的 Spyder编辑器 、IBM Quantum Experience和Anaconda中的 Jupyter Notebook 环境里测试运行过。