在安装好Qiskit之后,读者即可开始创建自己的量子程序,并在本地模拟器中运行这些程序。如果读者有时想在IBM Quantum的实体硬件上运行自己的量子程序,必须在本地环境中安装自己的API密钥,每个API密钥都是独一无二的。
如果读者在IBM Quantum Experience的Notebook环境中运行自己的Qiskit程序,系统会自动注册一个API密钥。
在安装API密钥之前,读者必须先创建一个IBM Quantum Experience的账号。如果读者还没有创建账号,可以回到1.2节,按照操作步骤进行创建。
下面,本书将介绍如何在本地环境中安装API密钥。
(1)通过IBM Quantum官方网站的登录页面登录到IBM Quantum Experience。
(2)在IBM Quantum Experience主页面的右上角,找到用户图标,点击该图标,选择“ My account ”。
(3)在账号页面中找到“ Qiskit in local environment ”选项,点击“ Copy token ”。
(4)读者可以将复制的令牌粘贴到一个临时的位置,或者将其保留在剪切板中。
(5)在本地设备上访问自己的Qiskit环境。之前的步骤中已经包含这一步,但是如果读者使用的是Anaconda,需要再次进行本操作。
(6)激活虚拟环境。
$ conda activate environment_name
(7)打开Python。
$(environment_name) … $ python3
检查屏幕上显示的Python版本信息,确保正在运行的Python版本是正确的:
Python 3.7.6 (default, Jan 8 2020, 13:42:34)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
(8)获取所需的
IBMQ
类型。
>>> from qiskit import IBMQ
(9)在本地环境中安装API令牌。
>>> IBMQ.save_account('MY_API_TOKEN')
在这一步中,读者需要将刚才从IBM Quantum Experience里复制的API令牌粘贴到该命令中
MY_API_TOKEN
的位置。要保留单引号,因为该命令需要使用单引号。
(10)登录自己的账号。
API令牌就位后,读者需要验证API密钥是否都设置好了,自己的账号权限是否正常:
>>> IBMQ.load_account()
执行上述命令后,系统会显示如下输出结果:
<AccountProvider for IBMQ(hub='ibm-q', group='open', project='main')>
这就是为账号提供服务的量子计算机的信息,其中包含
hub
(集线器)、
group
(群组)和
project
(项目)信息。
在上述示例中,读者导入的主要的类是
IBMQ
,它是一种用于使用IBM在云上提供的量子硬件和软件的工具箱。
本章使用
save_account()
在本地存储账号。随着学习的深入,在将要访问IBM Quantum机器的操作配方中,本书将在量子程序中使用
IBMQ.load_account()
和
IBMQ.get_provider()
类,以确保读者能够获取正确的访问权限。
如果出于某些原因,读者需要在IBM Quantum Experience中创建一个新的API令牌,并更新本地保存的API令牌,可以使用如下命令:
>>> IBMQ.save_account('NEW_API_TOKEN', overwrite=True)
在本书后续操作配方的代码中,会使用如下命令设置一个
provider
变量,以保存为读者账号提供服务的量子计算机的信息:
>>> provider = IBMQ.get_provider()
之后,读者就可以使用
provider
信息选择IBM Quantum计算机或后端来运行自己的量子程序。在后续示例中,本书将选择一个名为“
IBM Q 5 Yorktown
”(内部名称为
ibmqx2
)的量子计算机作为后端:
>>> backend = provider.get_backend('ibmqx2')