65.9K
CodeProject 正在变化。 阅读更多。
Home

Python、Jupyter Notebook 和 QISKit 如何使量子计算变得普及

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.09/5 (3投票s)

2018年2月20日

CPOL

6分钟阅读

viewsIcon

8839

使用 Python、Jupyter Notebook 和 QISKit 等开源工具,开发人员可以探索 IBM 云端量子处理器

引言

“量子计算”这个词可能会让人望而生畏。量子比特和量子门在编程领域仍然不是常用词。事实上,我在将这篇文章发布到 Code Project 时,甚至找不到网站上与量子计算主题相关的正确类别。

然而,在尝试理解量子计算的过程中,我偶然发现了 QISKit,它允许开发人员使用 Python 和 Jupyter Notebook 探索 IBM 云端量子处理器。

QISKit 包含三个主要组件:用 Python 编写的官方 QISKit API 客户端,包含示例的 Python QISKit SDK,以及详细说明 Open Quantum Assembly Language 2.0 的 OPENQASM 规范

QISKit 文档是另一个迹象,表明拥有基本计算机科学技能的人都可以使用 IBM Q Experience。根据 QISKit 文档

引用

要使用 QISKit,您需要安装至少 Python 3.5 或更高版本以及 Jupyter Notebook(建议用于与教程交互)。

因此,我们建议安装 Anaconda 3 Python 发行版,其中已预装了所有这些依赖项。

如果您是 Mac OS X 用户,您会发现 Xcode 非常有用:https://developer.apple.com/xcode/

如果您愿意为 QISKit 做贡献或只是想扩展它,您也应该安装 Git:https://git-scm.cn/download/

这使得量子计算更容易普及。

但我希望扩大我的调查范围。量子计算会更广泛地使用吗?它在计算机科学课程中教授吗?我采访了 Francesco Buscemi,日本名古屋大学数学信息学系的副教授,也是 QISKit.org 的支持组织和合作者之一。Buscemi 的主要研究方向是量子信息科学,并向计算机科学专业的学生传授量子理论的奇妙之处。他拥有理论物理学博士学位,最初是一名古典音乐家。
 

QISKit 如何使量子计算更易于理解?

量子基础和量子计算提供了许多非常有益的思考点,也是权威教学的解药。但当然,问题在于(和任何带有“量子”字样的东西一样)它们通常被认为至少是困难的。更糟糕的是,我仍然听到一些人轻视它们,认为它们是无用的、学术性的争论,夸大了远未实现结果的承诺。

我理解这些刻板印象得以持续存在的唯一方法是缺乏“看到”量子理论在行动中的工具,并且无法亲手“弄脏”它。事实上,如果你仔细想想,我们——人类——某种程度上被“优化”得能够快速对任何事物建立起极其良好的直观理解,即使是最陌生的东西,但这只有在我们有机会直接触摸和玩弄它时才有可能。经典计算似乎比量子计算更容易理解,可能是因为我们习惯于日常与(经典)计算机互动,而量子计算机对绝大多数人来说,并不比星际旅行或其他科幻奇迹更真实。

但现在 IBM 凭借其非常切实的云量子计算平台和软件开发工具包(QISKit)出现了,这使得任何有少量 Python 背景(顺便说一句,Python 是一种非常高级的语言,非常易读)的人都可以创建可以在真正量子计算机上执行的代码。

我可以直接告诉你,这非常有帮助:我亲眼看到不少学生,他们没有特殊的物理背景(更不用说量子理论),当然无法理解量子电路在抽象层面是如何工作的,但随后他们能够通过使用 QISKit 进行编程,快速建立起自己的直观理解。仅仅几周时间,这些学生就完美地掌握了量子基础中一些非常微妙的概念,如同时可测性或量子非局域性。这对我来说简直是令人震惊的。

为什么年轻学生应该对量子计算感兴趣?

标准(尽管有些可预测)的答案是,量子技术的最新进展使得量子计算的梦想比以往任何时候都更加现实,因此相信我们可能比最初想的要早得多地拥有工作的量子计算机是并不过分的。因此,现在是时候将量子计算纳入计算机科学的常规课程等等了……

然而,我坚信,如果我们教师尽职尽责,无论我们教授什么,都应该让学生认识到,他们所学的东西永远不是“真理”,而是一个不断演变的模型,我们构建它是为了满足我们理解世界的内在愿望。量子基础和量子计算为我们提供了探索科学知识的最终边界的独特机会,在这个机会中,这种“知识演变”的过程可以得到充分的欣赏。那里提出的问题是如此深刻,以至于我们甚至不确定会得到什么样的答案:在量子基础领域工作时,你必须愿意放弃一切你认为理所当然的东西。

量子基础和量子计算的最终目标无非是理解自然是如何“思考”的。这样说来,你能想象在所谓的“硬科学”中,还有什么比这更吸引人吗?每个学生都应该在他们的课程中拥有一门关于量子基础和量子计算的课程!

学习量子基础的学生是否比其他计算机科学专业的学生有优势?

如果五年前我问这个问题,那时量子计算仍然局限于全球少数几个实验室进行的验证性实验,我可能会更谨慎。但现在,考虑到实际量子计算方面取得的惊人进展,我更容易断言量子计算将成为下一个技术“大事件”。没有一个计算机科学家应该在他们的课程中完全不接触量子理论和量子计算。

但这可能也是你听过太多次的标准答案。所以,在我看来,学习量子理论的另一个原因是,为什么量子基础尤其能给计算机科学专业的学生带来优势。原因是,如果你学习量子基础,你就会了解到,(经典)计算所基于的逻辑,无论它看起来多么直观,都不是理所当然的:它完全是人造的产物,而自然不需要——事实上,也不——遵守它的规则。从这个意义上说,量子基础告诉我们,经典计算是一种人为受限的计算模型,仅仅因为我们无法超越对我们来说“显而易见”的东西。

知道计算不仅仅是经典计算,这可以成为任何学习或从事计算机科学工作的人的重要指导灵感。

历史

  • 2018 年 2 月 20 日:初始版本
© . All rights reserved.