“云无界、端无边” OGeek 技术峰会 9月17日 南京不见不散! 了解详情
写点什么

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

  • 2021 年 2 月 25 日
  • 本文字数:2310 字

    阅读完需:约 8 分钟

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

量子汇编语言“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 月份邀请第二轮提案。

Jaqal 编程语言输出“Hello World”


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


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


register q[2]        // Define a 2-qubit registerLoop 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

2021 年 2 月 25 日 10:001794
用户头像
刘燕 InfoQ 编辑

发布了 885 篇内容, 共 306.7 次阅读, 收获喜欢 1670 次。

关注

评论 1 条评论

发布
用户头像
cool
2021 年 02 月 28 日 22:28
回复
没有更多了
发现更多内容

第二次作业

朱月俊

架构师训练营第二章课后作业

叮叮董董

第二周学习总结

Geek_5d0795

极客大学架构师训练营

“麻烦”的处理流程

zhoo299

随笔杂谈

产品视角看推荐算法

峰池

人工智能 算法 产品经理 推荐算法

老大吩咐的可重入分布式锁,终于完美的实现了!!!

楼下小黑哥

Java redis 分布式锁

基本的面向对象原则(Basic OO principles)

旭东(Frank)

编程思维 极客大学架构师训练营

程序员的晚餐 | 6 月 15 日 红烧带鱼和清蒸多宝鱼

清远

美食

架构师训练营 第二周 学习总结

一雄

学习 极客大学架构师训练营 第二周

0613总结

W_T

用接口隔离原则优化 Cache 类的设计

朱月俊

第二次作业总结

朱月俊

小师妹学JVM之:GC的垃圾回收算法

程序那些事

JVM 小师妹 JIT GC 签约计划第二季

第二周作业

Geek_5d0795

极客大学架构师训练营

手撕设计原则:依赖倒置

JefferLiu

设计模式 架构师 面向对象设计 面向对象设计原则

依赖倒置原则

极客李

架构师训练营第2周学习总结

Season

极客大学架构师训练营

架构师训练营第二章总结

叮叮董董

架构师训练营 第二周 作业

一雄

极客大学架构师训练营 作业 第二周

架构师训练营作业-Week2

wyzwlj

极客大学架构师训练营

Week2学习总结

wyzwlj

极客大学架构师训练营

架构师训练营第二周作业

W_T

架构师训练营第2周作业

Season

极客大学架构师训练营

什么是依赖倒置原则,为什么有时候依赖倒置原则又被称为好莱坞原则?

朱月俊

Class-only Protocols - class or AnyObject

SwiftMic

swift AnyObject

架构师训练营 - 第二周架构师实现自己架构的主要手段

zcj

极客大学架构师训练营

哪些框架是遵循依赖倒置原则的?

朱月俊

架构师训练营第二周

小树林

Flink on Zeppelin (2) - Batch篇

章剑锋_Jeff

大数据 flink 流计算 Zeppelin

618你的系统顶住了么?系统发生重大灾难难道只能“删库跑路”?

punkboy

依赖倒置和案例

王锟

首届腾讯云大数据峰会暨Techo TVP开发者峰会

首届腾讯云大数据峰会暨Techo TVP开发者峰会

量子比特编码:如何用量子计算机汇编语言编程_语言 & 开发_W. Wayt Gibbs_InfoQ精选文章