新语言有助于量子编码器构建杀手级应用

2017-10-01 23:26:25

作者:Sophie Hebden(图片来源:f8 Imaging / Hulton / Getty)Quantum软件最终通过为量子计算机创建第一个实用的高级编程语言而离开了黑暗时代虽然今天的设备还没有为大多数实际应用做好准备,但这种称为Quipper的语言可以指导这些未来机器的设计,并使它们在到达时更容易编程 “它完成了现代经典编程语言的所有优点,适用于量子计算,”牛津大学的Bob Coecke说,他没有参与这项工作 “这是一次力量之旅”量子计算机的一个重要特征是它的位 - 称为量子位 - 可以同时取值0和1这允许计算机同时执行两个或更多个计算但是设计利用这种量子并行性的计算机算法是很困难的因此,到目前为止,量子编程主要是低级的,涉及指示控制量子位的量子逻辑门现在加拿大哈利法克斯达尔豪斯大学的Peter Selinger及其同事通过创建第一个高级量子编程语言Quipper,使这个领域更快 Quipper旨在表达更大概念的指令,并且可以轻松地以模块化方式汇集多个算法 Java等经典计算机的高级语言完成了现代计算中的大部分繁重工作 Quipper基于一种称为Haskell的经典编程语言,特别适用于物理应用程序的编程 Selinger的团队所做的是定制它来处理量子比特他们还生成了一个Quipper代码库,用于执行七种现有的量子算法,包括一种估算分子基态能量的算法他们希望其他人通过编写更多算法来增加库,创建一种资源,允许量子程序员通过将模块粘在一起来构建软件,就像经典程序员使用Java一样 “拥有精心设计的编程语言有助于构建您的思维并告知您对问题的思考方式,”Selinger说 “它可能成为设计新量子算法的有用工具”英国诺丁汉大学的Thorsten Altenkirch没有参与这项工作,他对此表示赞同他说:“人们可以使用像Quipper这样的语言作为测试平台,用于思考和理解如何编写量子软件” Selinger的团队在上个月在华盛顿州西雅图举行的编程语言设计和实施会议上发布了他们的语言大纲及其初级库考虑到硬件仍然不成熟,为量子计算机创建一种语言似乎很奇怪但是开发这种软件 - 通过在经典模型上模拟量子计算机进行测试 - 可能会影响未来量子计算机的设计 Quipper的创建由IARPA(美国情报高级研究计划局)资助,以便确定量子计算机需要多少比特才能在某些任务上胜过经典比特在Quipper中编写程序使得算法的硬件要求更加清晰,并且已经引起了一些惊喜 “这将需要比人们想象的更多的资源,”塞林格说,他不能谈论具体的结果他预计,随着工程技术的进步,例如降低噪声,实际量子计算机所需的量子比特数将随着时间的推移而减少该团队根据各种现有的量子硬件形式进行了估算,包括使用离子阱和光子的设备然而,他们并没有包括当今市场上唯一的量子计算机,即D波计算机它采用了一种称为绝热量子计算的新方法,因此目前与Quipper不兼容参考文献:arxiv.org/abs/1304.5485和arxiv.org/abs/1304.3390有关这些主题的更多信息: