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

不久前,我首先了解了 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

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

  1. keyshot场景素材导入_KeyShot渲染操作技巧,教你如何在KeyShot中链接场景内材质

    KeyShot渲染操作技巧,教你如何在KeyShot中链接场景内材质 在KeyShot渲染中,材质的添加和使用是一项非常重要的渲染操作,这些操作关系着模型渲染的逼真程度,在我们实际渲染项目中肯定会更加 ...

  2. 教你如何在maya中一秒建立一个花瓶~!

    教你如何在maya中一秒建立一个花瓶-! maya是3D建模中一个非常重要的工具,为了可以腾出更多的时间打游戏,快速建模,至关重要! 首先,你要了解的是曲线工具,我们将会用到cv曲线工具: 在英文版里 ...

  3. 教你如何在win7中安装cygwin64

    教你如何在win7中安装cygwin64 首先,说说我们为什么要安装cygwin吧,长期在win7下开发的人员可能不习惯使用unix系统,但由于工作问题,你又被逼要在unix环境下开发,那该如何是好啊 ...

  4. tableau实战系列(三十四)-教你如何在tableau中实现3D效果作图

    前言 我们知道,目前 Tableau 还不支持 3D 图表的实现.但是,如果你希望在 Tableau 中呈现立体效果,我们可以另辟蹊径,来实现一些简单的. 柱形图很常见,因为是平面的,也被称为条形图. ...

  5. 教你如何在Ubuntu中创建 Sudo用户

    sudo命令允许我们以系统管理员运行任何命令或选定的命令.文内含长段代码可复制可往左滑,希望对大家有帮助! 环 境 Deepin 15.11 创建一个新用户 使用adduser创建一个用户,用户名为u ...

  6. pyharm虚拟环境_手把手教你如何在Pycharm中加载和使用虚拟环境

    /1 前言/ 上次小编给大家介绍了Python虚拟环境及其使用和操作教程,没来得及上车的小伙伴,可以戳这个文章进行阅览.这篇文章基于虚拟环境的搭建,也相对比较基础,主要是介绍如何在Pycharm中加载 ...

  7. 教你如何在Python中读,写和解析CSV文

    摘要:在这篇文章中关于"在Python如何阅读CSV文件"中,我们将学习如何读,写和解析的CSV文件的Python. 您知道将表格数据存储到纯文本文件背后的机制是什么吗?答案是CS ...

  8. eclipse里source的快捷方法_教你如何在Linux中设置快捷方式图标

    这篇文章主要给大家介绍了关于如何在Linux中设置快捷方式图标的相关资料,文中通过示例代码的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 前言 Linux系统 ...

  9. 教您如何在MathType中输入空白区域

    2019独角兽企业重金招聘Python工程师标准>>> 在MathType数学公式编辑器中可以输入横向的空白区域,主要使用三种符号,即空格.制表符.对齐标志.本文将详解如何在Math ...

  10. java opencsv 乱码_教你如何在Python中读,写和解析CSV文

    摘要:在这篇文章中关于"在Python如何阅读CSV文件"中,我们将学习如何读,写和解析的CSV文件的Python. 您知道将表格数据存储到纯文本文件背后的机制是什么吗?答案是CS ...

最新文章

  1. Androidn Notification的使用,解决找不到setLatestEventInfo方法
  2. c语言不会可以学好java吗_C语言一定要学好吗?
  3. 莫兰迪色rgb颜色表_企业风险评价,(SCL)安全检查表,Excel工作表
  4. BugkuCTF-MISC题可爱的故事
  5. tomcat部署多个项目,通过域名解析访问,不同的网站
  6. oracle 收集统计信息会锁表吗,统计信息锁住导致收集统计信息失败引起sql执行异常...
  7. Html 点透镂空遮罩,swift 实现遮罩部分区域“挖洞”效果和点击事件穿透
  8. HSRP+生成树+vlan间路由!
  9. javaScript 解析 xml
  10. 2017-本命年总结
  11. LINUX下载编译nginx
  12. 多智能体协同视觉SLAM技术研究进展
  13. 2022最新版sci和ssci双检索期刊,详细期刊目录值得了解!
  14. diy高性能存储服务器,存储服务器 diy
  15. 宅基地一码溯源、一码统管
  16. NeuroImage:暴力的隐式创伤—异常运动振荡脑活动与创伤后应激症状有关
  17. 基于STM32单片机三色全彩RGB LED灯控制系统 原理图PCB程序设计
  18. MSTSC 自动登录
  19. .\Fire_FreeRTOS.axf: Error: L6221E: Execution region ER_RO with Execution range [0x00000000,0x000001
  20. 最优化理论复习视频合集

热门文章

  1. CBA公布对北京首钢处罚结果 相关工作人员遭重罚
  2. 【题解】「THUPC 2017」体育成绩统计 / Score
  3. 马化腾回忆创业:曾假扮女孩子陪聊
  4. Unity 圆形图片实现
  5. 从零开始的VUE项目-09(vue-alipayer-v视频播放)
  6. 【Android】仿淘宝商品详情页
  7. 简单计算器与面积结合计算器
  8. 京东后台:订单履约系统设计(下)
  9. 2019-6-5-WPF-拼音输入法
  10. SameSite Cookie