查看原文
其他

首个面向离子阱平台的量子汇编语言

光子盒研究院 光子盒 2021-12-15
光子盒研究院出品


当地时间2月19日,美国桑迪亚(Sandia)国家实验室宣布在他们的QSCOUT平台上开辟了另一种量子汇编语言(“Jaqal”),这是首个面向离子阱平台的量子汇编语言,此前IBM Qiskit已经推出了面向超导平台的量子汇编语言OpenQASM。
 
QSCOUT的离子阱利用一个电磁场来固定一条镱-171离子链,这条离子链起着量子比特的作用。该离子阱于2月推出,具有3个量子比特,并将在今年内升级为可容纳10个量子比特。程序命令激光器向离子发射紫外光脉冲,以控制它们的方向和量子态。(来源:桑迪亚国家实验室)
 

在有了量子软件和硬件之前,量子计算可以说还不是完全成熟的计算。位于新墨西哥州阿尔伯克基的桑迪亚国家实验室的一个开源量子计算机项目,旨在通过一种定制的量子计算汇编语言来解决这一差距。

在接下来的几年中,桑迪亚的物理学家Susan Clark和她的团队计划使用他们从美国能源部获得的为期5年的2500万美元拨款,在他们的“QSCOUT”平台上运行由世界各地的学术、商业和独立研究人员提供的代码,他们正在稳步地将其从现在的3个量子比特升级到2023年的32个量子比特。

QSCOUT代表“量子科学计算开放用户测试平台”,由悬浮在真空室中的电离镱原子组成。紫外线激光的闪烁使这些原子旋转,执行该团队初期的量子汇编代码编写的算法——他们将该代码命名为另一种量子汇编语言(Just Another Quantum Assembly Language)或JAQAL。

尽管谷歌、IBM和其他一些公司已经建造了更大的量子机器,并创造了自己的编程语言。Clark表示,QSCOUT为那些热衷于探索计算机科学前沿的人提供了一些优势。像谷歌和IBM机器中的超导门一样,肯定是快速的。但是它们也不稳定,在不到一秒的时间内就会失去相干性(和数据)。

多亏了类似于IonQ公司开发的离子阱技术,Clark表示QSCOUT可以保持其计算的相干性——想想看,它相当于能在计算中将一串思考序列保留超过十秒。 “这是目前最好的,”Clark说。“但我们的门要慢一点。”

真空室包围着一个离子阱,该离子阱可保护单个离子免受可能改变其状态的热源和电磁噪声的影响,从而有效地保护量子处理器。(来源:桑迪亚国家实验室)
 
然而,QSCOUT真正的优势不是性能,而是它能让用户随心所欲地控制所需的计算机操作——甚至可以在机器的基本指令集架构中添加新的或修改的操作。QSCOUT软件团队负责人Andrew Landahl说:“QSCOUT就像一个面包板,而各公司提供的(代码)就像印刷电路。”

“我们的用户是想做控制实验的科学家。当他们要求两个量子门同时发生时,他们是认真的。”他说。

商业系统倾向于优化用户的程序以提高其性能。Clark说:“但它们并没有给你提供很多幕后细节。”在早期,当人们还不清楚如何最好地处理噪音、数据持久性和可扩展性等主要问题时,量子机器的唯一作用是按照你的指示去做。

Landahl表示,为了实现精确度和灵活性的结合,他们创建了Jaqal,其中包括一些命令,用于将离子初始化为量子比特,将它们单独或一起旋转为不同状态,将它们纠缠为叠加状态,并读取它们的最终状态作为输出数据。(请参见下面的“Jaqal中的‘Hello World’程序”)

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

from qscout.v1.std usepulses *

加载一个定义标准操作的门脉冲文件(量子计算术语中的“门”)。该方案易于扩展。Landahl表示,下一个版本将增加新的指令以支持10个以上的量子比特,并添加新的函数。此外,他说,用户甚至还可以编写自己的函数。

Clark说,愿望清单上最重要的一项是一个在经典计算中被认为是理所当然的功能:对正在进行的计算进行部分测量,然后根据中间状态进行调整的能力。量子比特的相互关联使得这种部分测量在量子领域变得棘手,但实验主义者已经证明了这是可以做到的。

实际的程序将量子操作与经典操作混合在一起,因此QSCOUT团队还在Github(一个面向开源及私有软件项目的托管平台)上发布了一个名为JaqalPaq的Python程序包,该程序包提供了Jaqal模拟器以及将Jaqal代码作为对象包含在较大的Python程序中的命令。

桑迪亚从首批15个申请者那里接受的前5个项目提案中,大多数都将对其他量子计算机进行各种类型的基准测试。但是,Clark说:“由印第安纳大学伯明顿分校的Phil Richerme领导的一个研究团队,正在通过寻找特定分子的基态来解决一个小的量子化学问题。”

她说,她计划在3月份邀请第二轮提案,届时她们团队已经把量子比特从3个升级到10个。


Landahl表示,通常在一个新的量子计算机上运行的最简单的重要程序,就是把两个量子比特纠缠成所谓的Bell态的代码,Bell态是经典的0和1二进制状态的叠加。Jaqal文档给出了一个15行程序的示例,该程序定义了两个教科书式的操作,执行这些指令来制备Bell态,然后读取两个量子比特结果状态的测量值。

但作为一台离子阱计算机,QSCOUT支持一种称为Mølmer-Sørensen门的绝妙操作,它提供了一条捷径。利用这一点,可以让下面的6行程序完成相同的任务——并将其重复1024次:

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

相关阅读:
“Hello World”——来自量子编程语言Silq的问候

#光子盒社群招募中#

进入光子盒社群,与我们近距离互动,了解量子领域更多产业、商业、科技动态,领取量子技术产业报告。
 
现添加社群助手微信Hordcore即可进群 ,与我们一起展望未来!

你可能会错过:
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存