量子程序设计基础 | 基于Python的量子程序设计

简介: IBM量子程序开发套件的安装。

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]

目录
相关文章
|
7月前
|
Python
557: 程序设计C 实验四 题目三 字符串交叉插入(python)
557: 程序设计C 实验四 题目三 字符串交叉插入(python)
|
5月前
|
人工智能 数据挖掘 大数据
爆赞!GitHub首本标星120K的Python程序设计人工智能案例手册
为什么要学习Python? Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Pytho
|
5月前
|
分布式计算 NoSQL 物联网
麻省理工IOT教授撰写的1058页Python程序设计人工智能实践手册!
Python是世界上最流行的语言之一,也是编程语言中使用人数增长最快的一种。 开发者经常会很快地发现自己喜欢Python。他们会欣赏Python的表达力、可读性、简洁性和交互性,也会喜欢开源软件开发环境,这个开源环境正在为广泛的应用领域提供快速增长的可重用软件基础。 几十年来,一些趋势已经强有力地显现出来。计算机硬件已经迅速变得更快、更便宜、更小;互联网带宽已经迅速变得越来越大,同时也越来越便宜;优质的计算机软件已经变得越来越丰富,并且通过“开源”方式免费或几乎免费;很快,“物联网”将连接数以百亿计的各种可想象的设备。这将导致以快速增长的速度和数量生成大量数据。 在今天的计算技术中,最新的创新
|
5月前
|
分布式计算 NoSQL 物联网
麻省理工IOT教授撰写的1058页Python程序设计人工智能实践手册!
Python是世界上最流行的语言之一,也是编程语言中使用人数增长最快的一种。 开发者经常会很快地发现自己喜欢Python。他们会欣赏Python的表达力、可读性、简洁性和交互性,也会喜欢开源软件开发环境,这个开源环境正在为广泛的应用领域提供快速增长的可重用软件基础。
|
6月前
|
人工智能 数据挖掘 大数据
538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。 此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。 尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Python编程与数据分析、人工智
|
6月前
|
Python
选择程序设计(python)
选择程序设计(python)
|
6月前
|
存储 Python
顺序结构程序设计(python)
顺序结构程序设计(python)
|
6月前
|
人工智能 数据挖掘 大数据
538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。 此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面有广泛应用。 尤其是在数据分析和人工智能方面,Python已成为最受开发者欢迎的编程语言之一,不仅大量计算机专业人员选择使用Python进行快速开发,许多非计算机专业人员也纷纷选择Python语言来解决专业问题。 由于Python应用广泛,关于Python的参考书目前已经有很多,但将Python编程与数据分析、人工智
|
7月前
|
安全 数据安全/隐私保护 Python
292: 程序设计C 实验五 题目三 设计密码(python)
292: 程序设计C 实验五 题目三 设计密码(python)
|
7月前
|
C++ Python
623: 程序设计C 实验五 题目六 排序查找(python)
623: 程序设计C 实验五 题目六 排序查找(python)