量子汇编语言“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 程序的第一行,例如:
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 月份邀请第二轮提案。
Landahl 说,最简单的非平凡程序通常运行在一台新的量子计算机上,这种程序可以将 2 个量子比特纠缠到一个所谓的贝尔态(Bell states)中,即经典的 0 和 1 二进制态的叠加态。在Jaqal 文档中,给出了一个 15 行程序的例子,它定义了两种教科书式的操作,执行这些指令以准备一个贝尔态,然后读取结果状态的两个量子比特的测量值。
但是,QSCOUT 作为一台离子阱计算机,支持一种名为Mølmer-Sørensen 逻辑门的精巧操作,提供了一种捷径。利用这一点,可以让下面的 6 行程序完成同样的任务,且可以重复 1024 次:
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
}
原文链接:
领取专属 10元无门槛券
私享最新 技术干货