量子卡塔教您如何在Q#中进行量子编程

升级现代计算的整个结构并不容易。 首先,您需要发明能够将事物冷却到比宇宙中任何其他事物都更冷的温度的技术,然后您需要找到自己的反粒子, 然后再将它们编织到稳定的量子计算引擎中 。 然后,当然,您需要对它们进行编程。

不久前,我首先了解了 Microsoft的实验性量子计算编程语言Q# 。 它需要熟悉的计算结构和模式,并使用它们来构建体现我们要解决的问题的低级量子电路。 如果您使用F#之类的功能编程语言或诸如Go之类的系统编程语言编写代码,您将发现许多Q#熟悉的语言,直到它开始朝着Verilog之类的硅设计语言的方向发展。

[编程艺术发展Swift。 InfoWorld可以帮助您导航正在运行的东西和正在运行的东西 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

QDK:微软量子计算机编程的基础

那么开发人员如何开始使用Q#? 在可预见的将来,它将仅在本地和基于Azure的模拟器上工作,因为我们离公开访问的拓扑量子比特以及可以使用足够量子比特以确保科学家称之为“量子至上性”的机器还有一段距离。 这就是量子计算机变得比传统的硅计算机更有效率的点,几乎可以立即解决问题,而这通常需要数百甚至数千年的处理器时间。

Microsoft已经发布了可插入Visual Studio和Visual Studio Code的Quantum Development Kit(QDK) ,并带有用于解决小问题的本地量子模拟器,并可以在Azure上访问较大的量子模拟器来完成更复杂的工作。 Microsoft还开发了新的算法,可以减少大量模拟qubit的处理开销,从而使探索这些更复杂的量子算法变得更加容易。

当然,没有什么比拥有一台真正的量子计算机更胜一筹了,但是当我们等待Microsoft Research及其关联大学的实验物理学团队交付其首个可用的量子位时,QDK确实为您提供了一个起点。

但是QDK还不够。 量子计算概念与CPU和高级编程语言的熟悉世界截然不同,开发人员需要一套入门知识来引导您完成最初的概念,教会您不同的思维方式,同时为您提供构建第一个概念所需的技能量子电路。

Katas:将竞赛编码作为学习工具

现代化的开发工具使交付有效的编码教程变得更加容易,提供了暂存器来测试代码和集成点,以测试工具来帮助您评估进度。 像GitHub这样的源代码控制平台也使共享和分发代码框架和培训练习变得更加容易。 他们还允许社区成员进行更改或提交新练习。 相同的技术还支​​持编码竞赛,通过为最佳和最快的问题解决方案提供奖品来鼓励开发人员学习新技能。

对于量子开发,微软使用了一种叫做kata的概念,该名字取自日本武术实践形式。 Katas是一种自定进度的学习练习,可以一次又一次地进行,使您可以通过针对特定问题开发日益优化的解决方案来完善自己的编程技能。 每经历一个问题,您就可以学习新技能和技巧,就像学习武术一样。

微软最近根据其在最近的Q#编码竞赛中提出的问题,发布了一系列量子卡塔 。 完整的竞赛任务由15个问题组成,获胜者在不到两个半小时的时间内解决了所有问题。

量子katas中的Q#入门

在GitHub上可用 ,量子katas涵盖四个基本主题,从创建您的第一个量子门开始。 每个主题都添加了更基本的量子计算概念,并带您完成越来越复杂的练习。

在从GitHub克隆Quantum Katas存储库之前,您需要安装QDK(如果您不使用Git,则可以下载所需代码的Zip文件 )。

下载选项卡后,需要打开要使用的编码教程的项目解决方案文件。 每个教程具有相同的基本结构,包括说明,包含您编写的代码的任务文件,一组测试以及一个将承载您的Q#代码和教程测试的测试运行程序。 最后,提供了kata解决方案的参考实现,因此您可以了解Microsoft Research量子计算团队如何解决该问题。

您可以在任务文件上运行测试,以查看测试的工作方式,但是如果没有任何代码,测试将失败。 kata中的每个任务都有其自己的单元测试,因此您可以在完成每个步骤时跟踪进度。 编写代码后,请使用Q#编译器进行编译,然后使用两个Visual Studio中都内置的测试工具来运行单元测试。

在katas中完善您的风格

四个kata中的每个kata都建立在前一个基础之上。 因此,例如,第二部产品使用您在第一部中开发的基本量子逻辑电路 ,探索了使用量子叠加来解决问题的方法。 随着您的前进,您将学习如何测量量子态以及如何找到区分不同态的方法。 有些任务需要阅读其他参考资料,包括有关量子计算某些方面的科学论文。 这并不奇怪:即使使用Q#之类的工具,您也可以在现代计算机科学和实验物理学的边缘上工作。

您必须回到第一原理来学习量子计算,因为它所需要的技术与您编写基本程序或调整某些JavaScript的第一天一样新。 那就是katas让你做的。 kata方法可帮助您快速从绝对的基础知识过渡到复杂的概念。

From: https://www.infoworld.com/article/3293415/quantum-katas-teach-you-how-to-do-quantum-programming-in-q.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值