你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Quantum Katas 学习量子计算

ka·​ta | kah-tuh

用于学习、练习和实施新技能、方法和流程的模式。

Quantum Katas 是自定进度的开放源代码教程和编程练习,可同时教授量子计算的元素和 Q# 编程语言。

从实践中学习

Quantum Katas 中收集的教程和练习强调通过积累实践经验来巩固概念学习成果。 编程任务涵盖从非常简单到极具挑战性的各种量子概念。 在每项任务中,都需要填写一些缺失的代码;头几项 kata 可能只要求填写一行,而后面的练习则可能要求填写体量相当大的代码片段。

最重要的是,kata 包括用于运行和验证练习解决方案的测试框架。 这样你就可以获取解决方案的即时反馈,在其不正确的情况下重新考虑你的方法。 如果在练习时陷入困境,大多数 kata 都随附一个工作簿,其中包含正确的解决方案和说明。

可以在自己选择的环境中使用 kata:

  • 预配置的联机 Binder 环境中的 Jupyter Notebook,无需设置
  • 本地计算机上运行的 Jupyter Notebook
  • 本地计算机上的 Visual Studio
  • 本地计算机上的 Visual Studio Code

Quantum Katas 涵盖哪些概念?

每个 kata 探索量子计算的一项基本概念,其中一些涵盖的是基础知识,而一些是深入探索量子算法和协议。 若要开始学习,建议采用以下学习路径,并确保你已扎实地掌握量子计算的基本概念。 当然,你可以跳过自己熟练掌握的主题,按自己需要的顺序探索 kata。

量子计算简介

Kata 说明
复杂算术 该教程介绍了处理量子计算所需的一些数学背景,例如虚数和复数。
线性代数 线性代数用于在量子计算中表示量子状态和运算。 本教程介绍基础知识,包括矩阵和矢量。
量子位的概念 了解量子位 - 量子计算的核心概念之一。
单量子位量子门 本教程介绍了单量子位量子门,它充当量子算法的构建基块并通过多种方式转换量子位状态。
多量子位系统 本教程介绍了多量子比特系统、该系统在数学符号和 Q# 代码中的表示形式以及量子纠缠的概念。
多量子位量子门 本教程是单量子位量子门教程的续篇,侧重于介绍如何将量子门应用于多量子位系统。

量子计算基础知识

Kata 说明
认识量子门 用于帮助你熟悉 Q# 中的基本量子门的一系列练习。 包括关于基本单量子位和多量子位门、伴随门和受控门的练习以及如何使用门修改量子位状态的练习。
创建量子叠加 通过这些练习熟悉 Q# 中叠加和编程的概念。 包括有关 Q# 中基本单量子比特和多量子比特门、叠加以及流控制和递归的练习。
使用度量来区分量子状态 解答这些练习,同时了解量子测量以及正交和非正交状态。
联合度量 了解联合奇偶校验测量以及如何使用测量运算区分量子状态。

量子算法

Kata 说明
量子隐形传送 此 kata 探讨了量子隐形传态 - 这是一种支持仅使用传统通信和之前共享的量子纠缠传递量子状态的协议。
超密集编码 超密编码是一种支持通过使用之前共享的量子纠缠发送仅一个量子位来传输 2 位传统信息的协议。
Deutsch–Jozsa 算法 此算法非常著名,因为它是呈指数级快于任何确定性传统算法的量子算法的第一个示例之一。
探索 Grover 搜索算法的高级属性 对量子计算中最著名的算法之一进行的简要介绍。 它解决了以下问题:找到生成特定输出的黑盒 (oracle) 的输入。
实现 Grover 的搜索算法 此 kata 深入介绍了 Grover 的研究算法并介绍了如何编写 oracle、执行算法步骤,最后将一切合并在一起。
使用 Grover 的算法解决实际问题:SAT 问题 使用 Grover 的算法解决实际问题的一系列练习,使用布尔可满足性问题 (SAT) 作为示例。
使用 Grover 的算法解决实际问题:图形着色问题 此 kata 进一步探讨了 Grover 的算法,这次是解决约束满足问题,使用图形着色问题作为示例。

量子协议和库

Kata 说明
用于量子密钥分发的 BB84 协议 了解并实现量子密钥分发协议 BB84,使用量子位交换加密密钥。
位翻转纠错码 探索使用最简单的量子错误更正 (QEC) 代码(三量子位位翻代码)的量子错误更正。
相位估计 相位估计算法是量子计算的一些最基本的构建基块。 通过这些练习来了解相位估计,这些练习涵盖了量子相位估算,还演示了如何在 Q# 中准备和运行相位估计例程。
量子算术:构建行波进位加法器 探讨量子计算机上的行波进位加法的一系列深入练习。 构建一个就地量子加法器,使用其他算法对其进行扩展,最后构建一个就地量子减法器。

量子纠缠游戏

Kata 说明
CHSH 游戏 使用 CHSH 游戏的实现探索量子纠缠。 这一非本地游戏显示了如何使用量子纠缠来增加玩家获胜的几率,这超过了纯传统策略可能实现的几率。
GHZ 游戏 GHZ 游戏是另一个非本地游戏,但涉及三个玩家。
Mermin-Peres 魔方游戏 一系列练习,探索量子伪心灵感应如何解答魔方游戏问题。

后续步骤