物理不好,如何给量子计算机编程?

量子计算是如今发展最快的科技之一。许多公司和研究实验室都在尽可能快地向市场发布功能强大的量子硬件。在该领域取得的每一点进步都意义重大。当前还没有绝对完美的量子计算机有能力运行可靠的算法,例如Shor算法和Grover算法等。然而,现在的量子机器正在迅速的进步。IBM公司表明,在下一个十…

量子计算是如今发展最快的科技之一。许多公司和研究实验室都在尽可能快地向市场发布功能强大的量子硬件。在该领域取得的每一点进步都意义重大。

当前还没有绝对完美的量子计算机有能力运行可靠的算法,例如 Shor 算法和 Grover 算法等。然而,现在的量子机器正在迅速的进步。IBM 公司表明,在下一个十年,量子计算机将具备不可否认的优势,足以解决很多传统计算机无法解决的问题。

在 2019 年,IBM 提出了一种度量标准,叫做 Quantum Volume(QV)。该标准是从硬件的角度去衡量一个量子计算机的能力和有效性。QV 是一个基于不同因子计算所得的数值,例如计算机中量子位的数值、它们的连接性以及错误率的度量等。如果我们需要在实际的硬件上运行真实世界规模的算法,我们就需要一个很大的 QV 值。到目前为止,IBM 公司拥有 QV 值最大(32)的设备。

从软件的角度来说,一些研究人员预测,未来十年市场对于量子编程人员的需求将会呈指数级增长。例如 Google、IBM 和 Microsoft 等公司将会投入大量的财力和巨大的努力去培养下一代的量子研究人员和编程人员。

事实上,为了建立一个量子计算机,你不需要在物理和数学领域具备很高的学位。在我看来,你只需要具备很好的想象力即可。

传统编程 vs. 量子编程

图片来自作者(使用 Canva 绘制)

和传统计算机相比,量子计算机的运行基于一种完全不同的模式。用一种简单的思路来理解就是:在传统计算机中,我们使用的是 0 和 1 两个数字。而在量子计算机中,在原有 0 和 1 的基础上,还增加了一个”可能为 0 或者 1“的状态,也被称作”叠加态”(superposition)。所有的量子算法都是利用了这种“可能”的状态来表现量子计算机的强大能力。如今,量子计算机的编程有点像 1950 年代时我们对传统计算机的编程——虽然采用了类似于汇编语言的风格,但是具有更好的语法。

汇编语言并不简单,所以这似乎听上去很有挑战性。但实际情况是,当你了解了基本 ( https://towardsdatascience.com/take-your-first-step-into-the-quantum-realm-a13e99fab886 ) 的定义,以及量子位和叠加态的意义 ( https://medium.com/digital-diplomacy/the-three-pillars-of-quantum-computing-d80ff5f50ec7 ) 后,你就可以开始为量子计算机编程了。这也就是说,实际量子代码的编写并不需要对于物理有很深层次的掌握。

图片来自作者(使用 Canva 绘制)

为量子计算机编程的方法有哪些

无论是公司还是研究实验室都在致力于开发一种高级的量子编程语言,使程序员可以不需要非常熟悉量子物理学和量子力学就能够使用。事实上,现如今存在的量子编程语言和在传统编程语言基础上建立的量子编程库的数量可能比你想象的还要多。

因此,你的选择要么是在量子汇编的级别上编程,要么是使用一个基于传统编程语言的、用于量子计算的库,或者也可以使用一个纯粹的量子编程语言。我在下图中列举了在每一个类别中最广为人知和使用最广的选择。

图片来自作者(使用 Canva 绘制)

汇编级别的量子编程

  • QX Simulator( http://quantum-studio.net/#quick_start ):该模拟器用于模拟一般量子计算机的行为。它允许程序员去设计和模拟运行他们的量子算法。为了用 QX Simulator 实现一个算法,程序员需要从量子汇编语言(quantum assembly language, QASM, https://arxiv.org/pdf/1707.03429.pdf )的角度描述算法的流程。

具有量子编程库的传统编程语言

使用传统编程语言去写量子代码已经有很多的选择。我将会按照受欢迎的程度进行排序。

  • Qiskit( https://qiskit.org/ ):Qiskit (Quantum Information Science Kit) 是一个诞生于 2017 年的 Python 库,由 IBM Research 负责开发和维护。它也是最受欢迎和使用最广泛的量子编程库。Qiskit 很受欢迎的其中一个原因是它具有非常活跃和繁荣的社区。并且你还可以在 IBM 的真实的量子计算机上运行你用 Python 写的代码。
  • Cirq( https://github.com/quantumlib/Cirq ):这是一个由 Google 的开发者们开发的非官方的 Python 库,用于在 Google 的量子计算机上编写和运行测试。你可以使用 Cirq 来编写和模拟运行量子算法。不过 Google 并不允许任何人在他们的设备上运行代码。
  • Pyquil( https://github.com/rigetti/pyquil ):这是一个由 Rigetti 编写的 Python 库,可以在使用量子指令语言 Quil(同样由 Rigetti 开发, https://arxiv.org/abs/1608.03355 )的 Rigetti 机器上编写和实现量子算法。Quil 在语法上类似于 QASM。
  • Scaffold( https://www.cs.princeton.edu/research/techreps/TR-934-12 ):Scaffold 是一个从 Python 迁移到 C++ 的库,可以用于在传统机器上编写和运行量子算法。
  • Strange( https://github.com/redfx-quantum/strange ):这是一个可以用于编写和运行量子算法的 Java API。通过使用传统的 Java 分布式渠道使得 Strange 可以是分布式的,并且通过利用 Maven 或者 Gradle 可以使得它用起来非常简单。

事实上还有一些其他的基于传统编程语言的量子编程库存在,但是他们中的大多数已经过时或者在某一时刻已经停止了开发,这里就不再赘述。

量子编程语言

为了摒弃传统编程语言并建立独立的量子编程语言,研究人员已经开发出了在语法上和著名的传统语言相类似的量子编程语言。这也简化了从传统编程到量子编程的转换过程。这些语言包括:

  • Q#( https://docs.microsoft.com/en-us/quantum/overview/what-is-qsharp-and-qdk?view=qsharp-preview ):这是一个由 Microsoft 开发的用于编写和执行量子代码的量子编程语言。它是 Microsoft’s Quantum Development Kit(QDK) 的一部分。QDK 包括一个分离的模拟器和电路优化器。
  • Quipper( https://www.mathstat.dal.ca/~selinger/quipper/ ):这是一个支持函数式量子编程的嵌入式量子编程语言,同时允许程序员采用比汇编语言更高级的方式去描述他们的算法。Quipper 也包括七个已经实现的、基于当前理论研究的量子算法。
  • Sliq( https://silq.ethz.ch/ ):这是最新的量子编程语言,由 ETH Zürich 的研究员们开发并于今年早些时候发布。Sliq 可以提供量子算法的更高级别表征,且其在语法上类似 Python 和 C++。

如何开始

有了这么多选择,你可能会对于应该选择从哪开始你的量子旅程感到不知所措。我的建议是:从一个基于你曾经使用过的传统编程语言编写的量子编程库着手,慢慢适应了量子逻辑和思考方法后,再转到一个纯粹的量子编程语言上。

只有在我想深入了解量子计算机的工作原理和门之间的动态关系时,我才会考虑使用一个低级别的语言(例如 QX Simulator)。

我是从 Qiskit 入手的,而且今天仍然用得很多——不仅因为它是用 Python 写的,还因为我可以在一个真实的量子计算机上运行我的代码。虽然目前为止结果依然很糟,但可以在真实的量子计算机上运行你的代码仍然是非常有趣的事。

为了方便说明,我们使用之前提到的九种方法来实现相同的量子代码。你可以分析实现一个电路的不同方法,来选择你觉得有趣的那一个入手。

在当前的很多量子编程里,你需要搭建一个使用量子门(等同于经典门)的电路来应用你的算法。让我们来尝试实现一个可以在两个量子位之间创造叠加态的量子回路。为了完成这个任务,你需要了解用于创建叠加态的“魔法门”,称为 Hadamard Gate。输入 0 或者 1,它将会返回一个 0 和 1 的对等叠加态。

  1. 使用 QX Simulator:

图片来自作者(使用 Canva 绘制)

  1. 使用基于传统编程语言的库

图片来自作者(使用 Canva 绘制)

  1. 使用纯粹的量子编程语言:

图片来自作者(使用 Canva 绘制)

结论

我是一个喜欢学习和探索新事物的人,但我同时也明白,我们需要在一个时间点把自身的能量专注学习一件事才能表现得更好。

这也是我建议你可以从基于传统编程语言的量子编程库着手的原因。这样,你只需要关注量子的思维方式,而不需要同时学习一种特定的编程语言。当你适应了量子编程的逻辑后,再去关注一个量子编程语言,就会容易得多。在这之后,如果你还想进一步拓展你的知识,就可以继续往下走去探索 QASM 了。

版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(http://www.cangchou.com/)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3933150@qq.com 举报,一经查实,本站将立刻删除。

版权声明:本文内容由作者小仓提供,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至907991599@qq.com 举报,一经查实,本站将立刻删除。如若转载,请注明出处:http://www.cangchou.com/166749.html

(0)
小仓的头像小仓

相关推荐

  • gamry电化学工作站(电化学工作站优质国产企业)

    gamry电化学工作站(电化学工作站优质国产企业)1、电化学工作站:壁垒高、应用广泛的科研仪器1.1、电化学工作站是电化学研发的强大工具电化学工作站是电化学测量系统的简称,是电化学研究和教学常用的测量设备。电化学工作站的本质是控制和监测电化学池的电流和电位,以及其他…

    2023年11月11日
    0
  • 翡翠手镯半山半水贵吗?半山半水石的特征是什么?【띲띪띺띧】

    半山半水石产自山坡与河道中间的水浸地带,包含河流阶地、河漫滩及现代河道和古河等。它尽管是山石与水石中间的一种过渡种类,但严格说来,它与水石的关系更加紧密,因为它的形成与水石一样,离不了水。半山半水石的最大特点是,从外表上看有点水石,但用手触摸却有砂感,有点糙、扎手,当然它也不像山石那…

    网络快讯 2023年11月8日
    0
  • 三国云梦录周瑜怎么样 周瑜角色玩法攻略

    三国云梦录游戏是一款三国人物为主要题材的游戏,那么游戏中具体有那些三国角色呢?三国云梦录周瑜一上线,大家都非常好奇周瑜的配队,在小编看来周瑜是个非常强力的角色,他的配队十分的独特。…

    2024年3月22日
    0
  • 小米锁屏键移到桌面(小米手机12将”锁屏”按钮添加到桌面的方法)

    我们平时用手机需要锁屏的时候通常是直接去按手机的电源按键,这样的话,手机按键比较容易疲劳失效。尽管它宣称有10+万次的寿命,但架不住它使用很频繁呀,我的上一部小米手机note3就是坏在了电源按键上而最终淘汰。如果能将锁屏软键放到桌面上来就一劳永逸了。随着miui的不断升级,“锁屏”小部件居然…

    网络快讯 2023年11月14日
    0
  • which引导从句的三种用法是什么?英语四级长难句解析

    大学四级是每个大学生都必须越过的难题,而阅读中的长难句又是让大家感到头大的一点。其实长难句并没有想象中的那么难,在接下来的内容中,让我们一起在轻松愉悦的环境下攻克四级吧!MiguelMaeda,42,whohasamasterdegreeandworksinpub…

    网络快讯 2023年11月14日
    0
  • 青岛:积极申办世界杯等国际赛事,这是怎么回事?

    国际比赛,指国际性质的大型赛事,类别多样,如奥运会、世界杯、国际奥林匹克竞赛等,据悉青岛积极申办世界杯等国际赛事,具体情况是怎么样的呢?2023年亚洲杯在青岛什么地方举办呢?和小编一起来详细了解一下吧。青岛市十四五足球发展方案:要积极申办世界杯等重大国际赛事…

    2023年11月11日
    0
  • 煜怎么读音(读音为yù)

    煜怎么读音(读音为yù)煜,汉语汉字,读音为yù。会意字,从火,其形像火焰,表示如火光般照耀;从昱,表示太阳升起,日光照耀。作形容词时,表示明亮的样子。作名词时,表示火焰。点击输入图片描述(最多30字)  煜字常见组词有:  煜熠:意思是光…

    2023年10月20日
    0
  • 1KVA等于多少KW 10KVA等于多少KW

      1KVA等于多少KW?是0.8KW的。关于1KVA等于多少KW以及1kva等于多少kw?如何换算?,变压器1kva等于多少kw,1KVA等于多少KV,1KVA等于多少KWH,1KVA等于多少KA等问题,小编将为你整理以下的知识答案:10KVA等于多少KW  10KVA等于10KW的。…

    2023年11月27日
    0
  • 夏天为什么这么热,2022年夏天为什么这么热

      夏天为什么这么热,2022年夏天为什么这么热相信大家都深有体会,今年的夏天和去年相比,确实是更加炎热,平均温度也要高于往年的。  关于夏天为什么这么热,2022年夏天为什么这么热以及2022年夏天为什么这么热,今年夏天为什么这么热,济南夏天为什么这么热,哈尔滨夏天为什么这么热,22年夏天为什…

    网络快讯 2023年11月24日
    0
  • 女生偷偷喜欢你的表现举动 女生暗恋男生的信号

    /1/泰戈尔的《飞鸟集》里面有这么一段我很喜欢的话:世界上最遥远的距离,不是生与死,而是我就站在你的面前,你却不知道我爱你,世界上最遥远的距离,不是我站在你面前,你却不知道我爱你,而是明明知道彼此相爱,却不能在一起。是啊,在情感的世界里,当一个人喜欢上另一个人,正在心里面偷偷暗恋对方,不敢表…

    网络快讯 2023年12月15日
    0

发表回复

登录后才能评论