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

量子计算是如今发展最快的科技之一。许多公司和研究实验室都在尽可能快地向市场发布功能强大的量子硬件。在该领域取得的每一点进步都意义重大。当前还没有绝对完美的量子计算机有能力运行可靠的算法,例如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)
小仓的头像小仓

相关推荐

  • 安阳文峰塔多高 安阳三大标志性建筑?

    安阳三大标志性建筑?文学博物馆位于安阳市大道东段656号。经国务院批准,是集文物保护、展览、科研等功能于一体的国家级主题博物馆,也是第一座以人物为主题的博物馆。文峰塔位于河南省安阳市古城西北角,高38.65米,周长40米。因建于天宁寺,故原名天宁寺塔。它也被称为文峰塔,因为…

    2023年10月21日
    0
  • 嫦娥四号探测器是在我国哪里发射成功的,历数人类探月大事件!

    2018年12月8日,备受瞩目的我国“嫦娥四号”落月探测器在西昌卫星发射中心发射成功。它将在飞行27天后,着陆于月球背面预选着陆区,成为世界第一个在月球背面软着陆和巡视探测的航天器。“嫦娥四号”用于月基低频射电天文观测与研究,月球背面巡视区形貌和矿物组分探测与研究,月球背面巡视区浅层结构探测与研…

    网络快讯 2023年11月16日
    0
  • 产妇月子餐30天食谱(家常月子餐30天食谱)

    产妇月子餐30天食谱(家常月子餐30天食谱)以下是一个示例的产妇月子餐的30天食谱,供参考:第一周:早餐:燕麦粥,蒸蛋羹,蔬菜沙拉午餐:鲫鱼汤,青菜炒肉片,米饭下午茶:红豆汤,核桃晚餐:鸡汤面,蔬菜炒豆腐,绿豆芽炒肉丝宵夜:糯米糍,豆浆第二周:…

    网络快讯 2023年12月2日
    0
  • 黑发晶怎么辨别真假?带您了解黑发晶

    黑发晶真假辨别指南 黑发晶,以其内部独特的黑色发丝效果而闻名,是宝石市场上备受追捧的宝石之一。然而,随着其受欢迎程度的提高,市场上也出现了众多假冒伪劣的黑发晶。为了保护消费者的权益…

    网络快讯 2024年3月9日
    0
  • 宁波和邦大厦在什么地方(宁波鄞州区天童北路933号和邦大厦是属于鄞州区哪个镇?)

    宁波和邦大厦在哪?宁波和邦大厦地址位于宁波市鄞州区天童北路933号。楼主可就近乘坐或换乘21路、160路、206路(夜间)、363路、366路、369路、527路、623路、633路、906路公交车在和邦大厦站下车,也可乘坐116路、168路、906路公交车。宁波鄞州区…

    2023年10月21日
    0
  • 蓝宝石产地之一,昌乐蓝宝石一克多少钱?【띲띪띺띧】

    一说到蓝宝石的产地,大多数人可能首先会想到缅甸、斯里兰卡、克什米尔等等世界上最为优质的蓝宝石矿区,也有人可能也知道澳大利亚、马达加斯加等等产量极高的矿区,很少有人能够第一时间的想起中国来。但实际上,根据近十年来的勘探结果显示,中国实际上也有着极为丰富的蓝宝石矿藏,由于中国开采蓝宝石的历史很短,而且目…

    网络快讯 2023年11月8日
    0
  • 穿井得一人翻译及原文朗读,穿井得一人翻译及原文注释

      穿井得一人翻译及原文朗读,穿井得一人翻译及原文注释是《穿井得一人》选自《吕氏春秋》书卷二十二《慎行论·察传》的。  关于穿井得一人翻译及原文朗读,穿井得一人翻译及原文注释以及穿井得一人翻译及原文朗读,穿井得一人翻译及原文拼音,穿井得一人翻译及原文注释,穿井得一人翻译及原文视频,穿井得一人翻译…

    网络快讯 2023年11月26日
    0
  • 绝味鸭脖加盟条件及费用(开个绝味鸭脖加盟店需要多少费用)

    绝味鸭脖加盟条件及费用(开个绝味鸭脖加盟店需要多少费用)绝味鸭脖以口感独特、味道鲜美而著名。其选用优质鸭子为原料,搭配秘制香料,精心制作而成,使得每一口都充满浓郁的鸭香味。此外,绝味鸭脖还不断创新,推出不同口味和新品,满足不同消费者的需求。400^6780^^080…

    2023年12月6日
    0
  • 同时出现紫色和绿色的翡翠手镯叫什么?涨知识了!【띲띪띺띧】

     红翡绿翠紫为贵,翡翠的颜色那么多,这三种颜色似乎独得恩宠,在市面上价格一直都极高,翡翠手镯上同时出现绿色和紫色,有一个好听的名字,叫春带彩翡翠手镯,春指紫赤色的翡翠,彩则代表绿色。目前品质好的春带彩翡翠料子极少,在1991~1992年间,曾出现过一块有紫色和绿色,种水还很高的料子,刚入市就被消费者…

    网络快讯 2023年11月8日
    0
  • 怎么样越做水越多啊(当男人说你水好多该怎么回复)

    女人都是水做的,喝水就等同于输血!水并不是口渴了才喝,当口渴的时候其实身体已经开始缺水了。若人无视身体缺水信号,经常持久的缺水,就导致慢性脱水,水的代谢功能就紊乱了,新陈代谢功能一旦紊乱,身体某些器官缺水更加严重,身体干旱管理机制,发出的信号不仅是"口渴",而会表现出比"口干"多得多的病状。…

    网络快讯 2023年12月13日
    0

发表回复

登录后才能评论