博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Microsoft Quantum Katas帮助开发人员探索使用Q#实现量子计算
阅读量:5738 次
发布时间:2019-06-18

本文共 2010 字,大约阅读时间需要 6 分钟。

Microsoft根据这一理念,了一个称为“”的项目。该项目意在帮助开发人员迈出使用实现量子计算的第一步。它提供了一组复杂度递增的编程练习,并可向学习者提供即刻反馈。

\\

Quantum Katas当前提供四种招式,每种招式涵盖一个特定的量子计算主题:

\\
  • \\t

    如何使用,包括使用单量子位(qubit)门和多量子位门。

    \\t\\t
  • \\t

    准备叠加(Superposition)状态。叠加和纠缠(entanglement)是量子系统独具的特性。叠加允许在某个特定的量子位中同时存在多个逻辑状态。

    \\t\\t
  • \\t

    在量子实验中,使用测量抽取经典信息(classical information)。测量步骤可能会使量子位脱离叠加态,这将会破坏量子系统的相干性。

    \\t\\t
  • \\t

    编写实现经典函数和Deutsch–Jozsa算法的量子预言机(Oracle)。Deutsch–Jozsa算法是一种比确定性经典算法的速度快指数级别的量子算法。

    \\t\

招式组织为一组复杂度递增的编程任务。每个任务使用,关联到一个初始未通过的单元测试。在可用的参考资料帮助下,开发人员需要填充其中的代码,使测试得以通过。参考资料和参考解决方案一并提供在招式中。

\\

招式中涵盖的问题来自于Microsoft于去年九月首次推出的。

\\

下面给出两个例子。一个是几乎最简单的招式,翻转一个量子位的状态。另一个招式稍为复杂,根据当前状态更改量子位的状态。

\\
\//\    // 第一部分,单量子位逻辑门(Single-Qubit Gates)\    //\    // 任务1.1: 状态翻转:从\"|0\u0026gt;\"翻转为\"|1\u0026gt;\",或是反之。\    // 输入:一个量子位,状态为|ψ\u0026gt; = α|0\u0026gt; + β|1\u0026gt;.\    // 目标:将量子位状态更改为 α|1\u0026gt; + β|0\u0026gt;。\    // 例子: \    //        如果量子位处于状态“|0\u0026gt;”,更改其状态为“|1\u0026gt;”。\    //        如果量子位处于状态“|1\u0026gt;”,更改其状态为“|0\u0026gt;”。\    // 注意:该操作是自伴的(self-adjoint),即再次应用同一操作,量子位将恢复原状态。\    operation StateFlip (q : Qubit) : ()\    {\        body\        {\            // Pauli X门将更改状态“|0\u0026gt;”为状态“|1\u0026gt;”,或是反之。 \            // Type X(q);\            // 然后重新构建项目,并重运行测试。现在,测试T11_StateFlip_Test将会通过~\            // ……\        }\        adjoint self;\    }\    // 任务1.6*:更改相位(Phase change)。\    // 输入:\    //     1. 一个状态为“β|0\u0026gt; + γ|1\u0026gt;”的量子位。 A qubit in state β|0⟩ + γ|1⟩.\    //     2.  以弧度表示的α角度,表示一个Double。\    // 目标:将量子位的状态更改如下:\    //        如果量子位的状态为“|0\u0026gt;”,不更改其状态;\    //        如果量子位的状态为“|1\u0026gt;”,更改其状态为“exp(i*alpha)|1\u0026gt;”;\    //        如果量子位处于叠加态,根据基矢量(basis vectors)的效果更改其状态。\    operation PhaseChange (q : Qubit, alpha : Double) : ()\    {\        body\        {\            // ……\        }\        adjoint auto;\    }
\\

运行Microsoft Quantum Katas需安装开发包。该开发包提供了Windows 10、macOS和Linux上的可用版本。每个招式位于独自的目录中,并关联一个Visual Studio解决方案。在macOS和Linux上,只要安装了.NET Core SDK 2.0或以后的版本,开发人员就可以使用Visual Studio Code或命令行运行各个招式。

\\

查看英文原文: 

转载地址:http://cmfzx.baihongyu.com/

你可能感兴趣的文章
服务的使用
查看>>
Oracle 用户与模式
查看>>
MairDB 初始数据库与表 (二)
查看>>
拥在怀里
查看>>
chm文件打开,有目录无内容
查看>>
whereis、find、which、locate的区别
查看>>
一点不懂到小白的linux系统运维经历分享
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>
nagios监控windows 改了NSclient++默认端口 注意事项
查看>>
干货 | JAVA代码引起的NATIVE野指针问题(上)
查看>>
POI getDataFormat() 格式对照
查看>>
Python 中的进程、线程、协程、同步、异步、回调
查看>>
好的产品原型具有哪些特点?
查看>>
实现java导出文件弹出下载框让用户选择路径
查看>>
刨根问底--技术--jsoup登陆网站
查看>>
OSChina 五一劳动节乱弹 ——女孩子晚上不要出门,发生了这样的事情
查看>>
Spring--通过注解来配置bean
查看>>
pandas 十分钟入门
查看>>
nginx rewrite
查看>>
前端安全系列(一):如何防止XSS攻击?
查看>>