卡塔编程

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

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

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

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

那么开发人员如何开始使用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方法可帮助您快速从绝对的基础知识过渡到复杂的概念。

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

卡塔编程

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

  1. python如何写日志_【Python】教你如何在python中添加日志

    背景 起因是这次的项目用thrift来连接算法(python)和业务逻辑(java),因此有必要在python中添加日志来记录传入的参数.这样,当算法端没有正确响应时,就能方便地排查原因. 简易版实现 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. 如何在dynamo中使用Python编程

    欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 一.为什么要使用python? Dynamo的出现,是为了方便建筑师实现参数化编程,可是当用到一定的深度 ...

  10. 社会保障psam卡 是什么_社会卡即服务

    社会保障psam卡 是什么 作者 克里斯·科耶尔 已发表 2019年2月19日 翻译自: https://css-tricks.com/social-cards-as-a-service/ 社会保障p ...

最新文章

  1. 渗透测试:正义黑客的渗透测试以及该过程和黑客活动的区别
  2. 79期:Faceu的分布式数据库实战访谈
  3. 包浆网图分分钟变高清,伪影去除、细节恢复更胜前辈AI,下载可玩|腾讯ARC实验室出品...
  4. linux下目录的个个文件夹含义
  5. JMeter基础之—录制脚本
  6. 8个月打磨,一份送给程序员的「分布式系统」合集
  7. 网站服务器中病毒该如何处理,网站被中了木马无法删除怎么办? 解决网站中病毒的办法...
  8. centos7恢复mysql数据库_mysql数据库恢复过程记录
  9. HTML5游戏-看你有多色
  10. 用户控件页为什么找不到.ClientScript.RegisterClientScriptBlock原因
  11. GridView 水平方向滑动
  12. POJ2262 ZOJ1951 UVa543 Goldbach's Conjecture
  13. 英文论文sci参考文献格式
  14. Texstudio安装后闪退|重装系统Windows10|texstudio2022
  15. pg8168改mac命令_Realtek 8168网卡改MAC地址教程
  16. 树莓派介绍树莓派3代B+型开发板
  17. Windows 找不到网络 计算机或设备,“win7系统宽带拨号提示找不到设备”的解决方案...
  18. 最佳光圈值 (Optimum Aperture)
  19. spring boot中Excel文件下载踩坑大全
  20. c语言教程+school,w3school教程整理

热门文章

  1. 怎么下载正版java7_Java7中jdk的下载和安装
  2. 关于指针的面试题,指向字符串和字符数组的单指针,二级指针,三级指针的使用。
  3. 论文阅读 (九):A survey on instance selection for active learning (2012)
  4. 合并pdf文件-批量打印
  5. 编程入门先学什么 c语言软件,编程入门先学什么软件
  6. 徐谓-科举制与中国独特的士大夫阶层
  7. 盒子综合案例——德云社十八愁与宠物知识栏
  8. 获取163邮箱的邮件 并下载附件
  9. Python股票量化学习(3)——简单的策略回测
  10. HTML5 特殊符号大全