01、Qiskit总体架构
Qiskit是IBM公司研发的开放源代码的量子计算软件开发框架,其四大组成如下。
1. Terra
Terra是Qiskit的底层基础模块,它可以让程序员在量子线路和脉冲级别编写量子程序,针对特定设备的约束进行代码优化、管理和调度远程设备完成批量任务。Terra还提供了脉冲调度和后端通信等的高效处理。
Terra包含以下六部分内容。
Quantum Circuits: 提供对量子线路的构建、执行和测量等工作的支撑,测量结果会被映射到经典寄存器中。
Transpiler: 当在真实设备上运行量子线路时,实验误差和退相干等会引起计算错误;为了获得可靠的实现,必须减少量子线路的门数和总运行时间;转译器(transpiler)可针对后端设备的实际信息生成更鲁棒的等价量子线路。
Tools: 提供一组能够让Terra的使用变得更简单的工具,它提升了针对特定后端自动优化量子线路的能力,包含的编译器(compiler)能通过转译器将一组量子线路映射到一个qobj(quantum object)上,然后在后端运行;它还具有监视作业和后端、并行转译任务等功能。
Backends and Results: 为量子线路在后端的执行提供支持,共有四个部分,分别为①Provider负责给出所有可用后端的列表,并从中指定一个执行;②Backend负责运行量子线路并返回结果,其可以是一个模拟器或者一台真实的量子计算机; ③Job负责作业任务的管理; ④Result负责保留最终结果供进一步分析。
Quantum_Information: 为在量子计算机上执行更高级的算法和线路分析提供支持,如创建超算符和量子信道等。
Visualization Tools: 丰富的可视化工具可帮助用户快速检查量子线路及其执行结果的正确性。
2. Aer
Aer提供了开发量子算法和应用所需的模拟器、仿真器和调试器,包含三种高性能模拟器后端: Qasm Simulator、Statevector Simulator和Unitary Simulator。Aer还提供了噪声模型的构建工具,以仿真(模拟)在真机设备上运算时产生的噪声。
3. Ignis
Ignis为消除噪声和执行错误提供系列工具和方法,如层析成像(tomography)等。Ignis提供的众多例程包括噪声参数(T 1、T 2*、T 2等)测量、量子体积测定、随机基准测试(RB)和门保真度测定等。
4. Aqua
Aqua用于构建化学、优化、金融和人工智能等领域的量子算法和应用。
02、Qiskit的安装
本书使用的Qiskit的版本为0.33.1。Qiskit在不断升级发展中,不同版本的安装要求和安装过程会有所区别。
1. 安装要求
Qiskit安装要求的软件基本配置如下。
① Python 3.6及以上版本。
② 64位操作系统: Ubuntu 16.04、macOS 10.12.6、Windows 7及以上。
③ 基础函数库: Numpy-1.19.3和matplotlib。
2. 安装Qiskit
推荐使用Python虚拟环境以更好地区分不同应用并提高使用体验。
① 下载并安装Anaconda 3。
② 用conda创建一个虚拟环境。
conda create -n name_of_my_env python=3.6
③ 激活刚才创建的虚拟环境。
conda activate name_of_my_env
④ 安装Qiskit。
pip install qiskit
⑤ 如果想使用可视化功能或JupyterNotebook,则建议安装带有可视化附加要求的Qiskit。
pip install qiskit [visualization]