Logo
Section 1 / 2

量子计算库与框架

让我们开始使用量子计算库来编写有用的量子电路和算法。

导入

量子计算库与框架

让我们开始使用量子计算库来编写有用的量子电路和算法。

在前一章中,我们创建了自己的量子计算模拟器。虽然基础,但已足以运行一些简单的量子算法。然而,对于更高级的算法,我们还需要添加对参数化门的支持等更多功能。

基于这一点,我们现在转向使用成熟的量子计算框架和库,它们实现了运行量子算法所需的所有功能。在本课程中,我们将学习使用:

  • Qiskit,以及
  • Cirq

Qiskit(由 IBM Quantum 开发)和 Cirq(由 Google 开发)都是用 Python 编写的流行量子计算库/框架。它们为复杂的量子硬件提供了良好的高层编程接口。同时,它们支持在模拟器或真实的量子计算机上运行量子算法,这非常适合我们的使用场景。不过如前所述,本课程中我们仅使用模拟器。

通用编码方法

在进入下一课的第一个算法之前,我们认为了解这些框架和库中编写量子算法的通用技术很有帮助。

通常情况下,你首先会导入相应的库,然后选择一个模拟器。大多数库提供多种类型的模拟器,每种都有其独特的特性和差异。接着,你会定义一个包含 nn 个量子比特的量子电路。然后按顺序编写你想要实现的电路所需的门操作,并指定这些门作用在哪些量子比特上。此时,绘制出你的电路图有助于直观理解所编写的代码。虽然这不是运行量子算法的必要步骤,但确实有帮助。之后,将该电路与你的量子系统一起输入到模拟器或真实量子计算机中,并指定运行算法的次数。最后,对系统进行测量,以比特串的形式读取输出状态。这就是在量子比特系统上运行量子算法的结果。

需要注意的是,在接下来的课程中,重点将放在解释量子算法中的关键技术及其应用上。我们会讨论电路结构,并深入剖析其原理。但由于本课程必须包含完整的代码示例,因此我们将为每个算法提供 Python 代码。这些代码均来自相关库的官方文档,可公开查阅。再次强调,本课程的重点并非深入掌握某一个库或框架。对 Qiskit 或 Cirq 的全面介绍是另一门课程的内容,适合另作安排。

明确了这一点后,现在让我们开始在电脑上安装 Qiskit 和 Cirq。当然,由于本课程使用集成的代码环境和交互式组件,你无需执行以下步骤。以下安装步骤仅适用于你决定在本地机器上自行运行算法的情况。

安装 Qiskit

要安装 Qiskit,你可以在计算机的终端中运行以下命令:

1pip install qiskit 2pip install qiskit[visualization]

安装 Cirq

要安装 Cirq,你可以在计算机的终端中运行以下命令:

1python -m pip install --upgrade pip 2python -m pip install cirq 3python -m pip install cirq-core[contrib] 4sudo apt-get install texlive-latex-base latexmk 5python -c 'import cirq; print(cirq.google.Foxtail)' 6# 应输出: 7# (0, 0)───(0, 1)───(0, 2)───(0, 3)───(0, 4)───(0, 5)───(0, 6)───(0, 7)───(0, 8)───(0, 9)───(0, 10) 8# │ │ │ │ │ │ │ │ │ │ │ 9# │ │ │ │ │ │ │ │ │ │ │ 10# (1, 0)───(1, 1)───(1, 2)───(1, 3)───(1, 4)───(1, 5)───(1, 6)───(1, 7)───(1, 8)───(1, 9)───(1, 10)

量子门与电路

编写一个贝尔态