首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

量子比特编码:如何用量子计算机汇编语言编程

量子汇编语言“Jaqal”由美国桑迪亚国家实验室Sandia National Laboratories)在其 QSCOUT 平台上开发。

QSCOUT 的离子阱(ion trap)利用电磁场来维持一条镱 -171 离子链,它的作用是充当量子比特。2 月推出的离子阱拥有 3 个量子比特,2021 年将升级到可容纳 10 个量子比特。程序命令激光器向离子发射紫外光脉冲,以控制它们的方向和量子状态。

可以说,在没有量子计算软件和硬件的情况下,量子计算还不算成熟。桑迪亚国家实验室位于美国新墨西哥州阿布奎基,该实验室进行一个开源量子计算机的项目,目的是通过定制的量子计算汇编语言来解决这一问题。

在接下来的几年里,物理学家 Susan Clark 和她在 Sandia 的团队计划利用来自美国能源部的 2500 万美元、为期 5 年的拨款,在他们的 QSCOUT 平台上运行世界各地的学术、商业和独立研究人员提供的代码,到 2023 年,该平台将从今天的 3 个量子比特稳步提升到 32 个量子比特。

QSCOUT 是量子科学计算开放用户试验台(Quantum Scientific Computing Open User Testbed)的缩写,它由电离镱原子组成,悬浮在真空室内。通过执行由该团队刚起步的量子汇编代码编写的算法,紫外线激光的闪烁让这些原子旋转—它们将其命名为 Just Another Quantum Assembly Language(意指“其他量子汇编语言”)或 JAQAL (他们已经用小写字母“aqal”注册了 Jaqal 的商标,因此所有后续引用都将使用该句柄)。

尽管谷歌、IBM 和其他一些公司已经建造了更大的量子机器,且开发出了他们自己的编程语言,但 Clark 表示,QSCOUT 给那些渴望探索这一计算机科学前沿的人们带来了一些好处。当然了,就像谷歌和 IBM 机器中的超导门(Superconducting gates)一样,它也很快速。但是它们也不稳定,并且在不到一秒钟的时间内就失去相干性(coherence)和数据。

Clark 表示 QSCOUT 可以保持其计算的相干性,这得归功于类似于 IonQ 公司开发的离子捕捉技术(该公司已经做了很好的解释):“想想看,它就像是一个计算过程,相当于在长达 10 秒的时间里保留一个思路。“这是目前最好的,”Clark 说,“但我们的量子逻辑要慢一些。”

但,QSCOUT 的真正优势并不在于性能,而是它允许用户根据自己的意愿来控制计算机的操作,甚至向计算机的基本指令集架构中添加新的或修改过的操作。“QSCOUT 就像是一块面包板(免焊万用电路板),而公司提供的就像是印刷电路板。”领导 QSCOUT 软件团队的 Andrew Landahl 说。

一个真空室封闭了一个离子阱,保护单个离子免受可能改变其状态的热和电磁噪声源的影响,从而使量子处理器彻底有效。

“我们的用户是科学家,他们希望进行控制实验。”他说:“他们要求两个量子逻辑门同时发生,商用系统往往会优化用户的程序来改善它们的性能。”Clark 称,“但他们不会给你太多的细节来告诉你幕后的情况。”在早期,当如何最好地处理噪声、数据持久性和可扩展性等重大问题还很不清楚的时候,这时候有一个量子机器,其作用就是只是做你告诉它做的事情。

Landahl 说,为了实现这种精确性和灵活性的结合,他们创建了 Jaqal,其中包括将离子初始化为量子比特的命令,将它们单独或共同旋转到各种状态,将它们缠绕成叠加,然后以输出数据的形式读取最终状态。

任何 Jaqal 程序的第一行,例如:

代码语言:javascript
复制
from qscout.v1.std usepulses *

载入一个逻辑门脉冲文件,它定义了标准操作(量子计算术语中的“量子门”)。这种方案可以轻松实现扩展性。Landahl 说,下一个版本将增加新的指令来支持 10 个以上的量子比特,还会增加新的功能。此外,他还说,用户甚至也可以编写自己的函数。

Clark 说,“愿望列表”中,一个在经典计算中理应具备的新特性是,能对进行中的计算进行局部测量,然后根据中间状态进行调整。在量子领域,由于量子比特的互连性(interconnectedness),这种局部测量方法很难实现,但实验人员已经证明这可以做到。

实用程序将量子操作与经典操作混合在一起,所以 QSCOUT 团队也在 Github 上发布了一个名为JaqalPaq的 Python 包,它提供了一个 Jaqal 模拟器,以及一些命令,其能将 Jaqal 代码作为对象包含在一个更大的 Python 程序里。

桑迪亚国家实验室在首批 15 个申请者中接受了前 5 个项目提案,其中大部分将针对其他量子计算机进行各种基准测试。但 Clark 表示:“其中有一支团队(由印第安纳大学布卢明顿分校(Indiana University, Bloomington)的Phil Richerme领导)通过研究特定分子的基础状态,正在解决小规模量子化学问题。”

在团队将机器从 3 个量子比特升级到 10 个量子比特之后,Clark 计划在 3 月份邀请第二轮提案。

Jaqal 编程语言输出“Hello World”

Landahl 说,最简单的非平凡程序通常运行在一台新的量子计算机上,这种程序可以将 2 个量子比特纠缠到一个所谓的贝尔态(Bell states)中,即经典的 0 和 1 二进制态的叠加态。在Jaqal 文档中,给出了一个 15 行程序的例子,它定义了两种教科书式的操作,执行这些指令以准备一个贝尔态,然后读取结果状态的两个量子比特的测量值。

但是,QSCOUT 作为一台离子阱计算机,支持一种名为Mølmer-Sørensen 逻辑门的精巧操作,提供了一种捷径。利用这一点,可以让下面的 6 行程序完成同样的任务,且可以重复 1024 次:

代码语言:javascript
复制
register q[2]        // Define a 2-qubit register
Loop 1024 {          // Sequential statements, repeated 1024x
    prepare_all     // Prepare each qubit in the |0⟩ state
    Sxx q[0] q[1]    // Perform the Mølmer–Sørensen gate
    measure_all     // Measure each qubit and output results
}

原文链接:

https://spectrum.ieee.org/tech-talk/computing/software/qscout-sandia-open-source-quantum-computer-and-jaqal-quantum-assembly-language

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/WxX9va7bi8o2DUQ6EtN1
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券