微软将推出量子编程语言!

微软将推出量子编程语言!

戴秉璋戴秉璋

在9月25号的 ignite 大会上,微软展示了在拓扑量子计算和其生态构建上的进展。今年的晚些时候,微软将会发布一个和 Visual Studio 深度集成的量子计算编程语言和对应的模拟器。开发者可以用来实现量子算法,开发和调试量子程序。

经典计算机操作的对象是(经典)比特。一个经典比特有两个状态: 01 。而量子计算机操作的对象是量子比特,一个量子比特可以是两个可能的状态 01 的相干线性叠加态。直观上来说,经典比特只有两个取值,而量子比特可以是单位球面上的任意一个点。 N 个量子比特有 2^N -1 个自由度,所以可以存储 2^N -1 个不受限制复数描述信息,而经典比特只能存储从 02^N -1 之间的整数描述信息,可见量子比特的表现力更加强大。量子信息的更多介绍可以在这里找到:Quantum Computer Science: An Introduction

微软的量子编程语言借鉴了C#,python,F#的一些元素。开发者需要理解并运用量子逻辑门和它们的操作,以用来编写函数,其中可以有变量,跳转等等经典语言的元素。下面是一个实现量子传输的算法(我们把它叫做 hello world 程序吧)。

新推出的量子编程语言将集成在 Visual Studio 里,你可以用来编写并调试你的程序。微软将会发布两个量子模拟器。一个版本是本地运行的,另一个将会在 Azure 上跑。模拟器不光能够运行量子程序,并且能提供和以前 Visual Studio 类似的调试体验。模拟器需要的内存非常大,本地运行的版本可以模拟最多 32 个量子比特,需要 32GB 的内存。每多一个额外的量子比特所需要的内存将会翻倍。Azure 运行的版本可以提供最大 40 个量子比特的模拟。

长期来看,微软的目标是在真正的量子计算机上运行量子算法。过去十年多年里,微软研究员和工程师致力于构建一个基于 Freedman 主导的 Station Q 的研究的拓扑量子计算机。量子计算中如何避免退相干和容错是非常困难的。多余的量子比特将用于纠正环境中的噪音带来的干扰。不同的算法和量子计算模型需要的纠错比特位不尽相同,理论上来说,拓扑量子计算的设计方法相对其他实现需要的纠错位更加的少。微软能希望创造一个全功能的拓扑量子计算系统,包括能连续运行的具有成千上万的量子比特的量子计算机,和一整套软件来运行和控制量子计算机。

量子计算可以解决很多实际问题,比如大数 N 的因式分解问题。经典的计算方法是用正整数 1\sqrt N 依次相除,算法需要的时间 \sqrt N 相对于 input size 的 \mathrm{log}_2N 是指数的。而有了 Shor 量子算法,因式分解就是多项式的复杂度。因此 RSA 加密算法也将不再那么安全了。量子计算还可以帮助人工智能研究人员加快模型的训练。

理想中的量子计算机还需要很多年才能真正实现,微软现在已经迈出了重大的一步,今年晚些时候将会发布量子编程语言和模拟器,同时包括教程和一些库来帮助开发者上手。系统的设计具有高层次的抽象,开发者不需要有量子方面的专门的知识就能调用量子子程序。开发者可以在这里获取最新信息。

参考阅读:

  1. Microsoft announces quantum computing programming language
  2. With new Microsoft breakthroughs, general purpose quantum computing moves closer to reality
  3. Microsoft makes play for next wave of computing with quantum computing toolkit
  4. 《量子力学》曾谨言

注:本文没有任何干货,纯为以上文章杂糅 ╮(╯▽╰)╭。正式发布预览之后我会跑一下 demo 并写一篇稍微详细的介绍,谢谢大家。

「真诚赞赏,手留余香」
2 人赞赏
微信用户
微信用户
文章被以下专栏收录
73 条评论
推荐阅读