如何使用 Q#

Q# 是微软的量子语言,很厉害,所以本文告诉大家如何入门,如何配置。

介绍

很多新的计数机技术都在很多年前就有人提出,量子计算就是其中一个。量子计算在 1980 年就被 Richard Feynman 和 Yuri Manin 提出,因为量子比较特殊,所以难以被人们的容易接受,而且因为计算机的价格比较高所以大家比较少可以测试和开发。现在微软弄了Q#和模拟器,大家可以开始学习如何使用量子计算,这是一个简单的语言,可以很多的使用 C# 的方式。不过还是有一些不同的地方,在使用之前,需要了解很多量子的东西。

下载环境

首先需要下载一些东西,打开Microsoft Quantum Development Kit - Visual Studio Marketplace下载扩展。扩展无法下载,请到我上传的csdn下载

需要确定自己的 VisualStudio 是 VisualStudio 2017

需要关闭所有的 VisualStudio 才可以安装,在安装完成之后,先 clone 一下微软的项目,这个项目可以测试是否可以使用。

项目的地址:Microsoft/Quantum: Microsoft Quantum Developer Kit Samples and Libraries ,可以使用下面的代码克隆

git clone https://github.com/Microsoft/Quantum.git

如果发现自己无法访问,那么可以使用 gitee 进行克隆,新建一个项目选择远程链接,这样就好。

打开 QsharpLibraries.sln 可以发现提示缺少库,一般是没有 F# ,需要安装一下。

但是这时会发现,项目无法编译,需要还原Nuget,微软虽然提高了在中国的 Nuget 速度,但是实际还原的时间还是可以去弄一些咖啡,回来差不多就还原好了。注意这时需要关闭博客园的 Nuget ,他没有这些东西,如果使用了他了,就需要清理文件夹。

因为垃圾 VS 不能帮你把库引用,所以需要在还原成功打开每个项目的引用,点击一下找不到的引用,这时会自动引用。

测试

如果发现所有库都安装,那么就可以开始编译,选择 TeleportationSample 项目,右击他为启动。

编译的时候注意关闭 Resharper 的编译,这时需要使用 VS 的编译,虽然我小伙伴使用 Resharper 可以成功,但是我自己失败了。

按下 F5 就可以看到输出,如果可以看到下面的输出,那么你的环境就弄好了

请看 Setting up the Q# development environment

本文只是告诉大家如何搭建环境,实际没有告诉大家如何写Q#,在我后面有时间在写


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

时间: 2024-07-30 15:26:10

如何使用 Q#的相关文章

【Q&A】12C OCP 1z0-060 QUESTION 1: About Managing Temporary Tablespaces in a CDB

QUESTION 1 Your multitenant container (CDB) contains two pluggable databases (PDB), HR_PDB and ACCOUNTS_PDB, both of which use the CDB tablespace. The temp file is called temp01.tmp. A user issues a query on a table on one of the PDBs and receives th

$q服务的API详解

下面我们通过讲解$q的API让你更多的了解promise异步编程模式.$q是做为angularjs的一个服务而存在的,只是对promise异步编程模式的一个简化实现版,源码中剔除注释实现代码也就二百多行,下面开始介绍$q的API. defer对象(延迟对象)可以通$q.defer()获取,下面是defer对象的api:  方法: resolve(value):向promise对象异步执行体发送消息告诉他我已经成功完成任务,value即为发送的消息. reject(value): 向promise

angularjs $q、$http 处理多个异步请求

在实际业务中经常需要等待几个请求完成后再进行下一步操作.但angularjs中$http不支持同步的请求. 解决方法一: $http.get('url1').success(function (d1) { $http.get('url2').success(function (d2) { //处理逻辑 }); }); 解决方法二: then中的方法会按顺序执行. var app = angular.module('app',[]); app.controller('promiseControl'

下载中心常见问题解答【Q&A帮助】

公告 1.下载中心不支持迅雷以及各个浏览器(如360.猎豹等)自带的加速模块下载,如果您正在使用,请关闭后再下载. 2. 本文内容较多,可利用"Ctrl+F"进行搜寻,如果没有找到您想知道的问题,请留言提出,我们会及时答复您.如果您的问题具有代表性,将会采纳入正文中.本文中已做出解答的问题,请不要重复提问. 下载常见问题 1.Q:为什么下载的资料提示解压错误?而且只有7KB? A:如果无法打开附件并提示解压报错,可以已下载的附件大小和资料原本标注的大小是否一致,如果资料下载完只有7KB

promise和Angular中的 $q, defer

在ES6语法中,新出了promise构造函数, 可用来生成promise实例. Promise对象: 代表了未来某个将要发生的事件(通常是一个异步操作).有了promise对象, 可以将异步操作以同步的流程表达出来, 避免了层层嵌套的回调函数(俗称'回调地狱'). 在Angularjs中,对象deferred 实例也可以暴露派生的Promise 实例.以下将对此作简单描述: 1. $q: $q是Angular的一种内置服务,它可以使你异步地执行函数,并且当函数执行完成时它允许你使用函数的返回值(

《阿Q正传》读后感

kindle大法好. 利用坐车的时间阅读完了鲁迅先生写的<阿Q正传>, 心中感慨良多, 记下等以后翻看这些摸不着的回忆吧. 我没看过实体书版, 电子书版的<阿Q正传>注解很详细, 不过因为自身文化水平有限以及对那个时代并没有研究,还是有些词汇尚不能理解. 结合如今中国来看, 其实还能够琢磨点"阿Q"的影子. 教育制度使然, 我想在未来很多年里, "阿Q"并不会随着时间而变少. 文中情节明显高涨是从阿Q欺负小尼姑开始, 当然高潮是在革命章节,

python学习笔记-Day022 - F,Q

django中还有一个 F 和一个 Q 导入方式 from django.db.models import F 关于F : 使用方法 F 比较好说, 他是用来指定表中的字段的, 比如说 table01 中的 size 字段加 1 的时候 , 在SQL 中的语句是 update table01 set size = size +1 django中 的则是 models.table01.objects.all().update(size = F("size")+1) F("siz

野兽的Angular Api 学习、翻译及理解 - - $q 承诺与延迟

野兽的ng api学习 -- $q $q 一个帮助处理异步执行函数的服务.当他们做完处理时,使用它们的返回值(或异常). 受 Kris Kowa’s Q 的启发,这是一个实现promise/deferred对象的启用. $q的两种方式---这是一个更类似于Kris Kowal Q或jQuery的递延实现,另一种在一定程度上类似的ES6承诺. Deferred Api 一个被$q.defer()调用的deferred的新实例. deferred对象的目的是暴露相关承诺实例,以及APIs被执行的成功

I、Q信号是如何产生的,I、Q信号复用的作用

接收机在中频部分实现模数变换和采样,采样后的信号和数字域的同频相乘,就可以得到基带的I.Q分量.在无线接口传输时,每一种使用特定的载波频率.码(扩频码和扰码)以及载波相对相位(I或Q)的信道都可以理解为一类物理信道. 上行信道的扩频包括两个操作:第一个是信道化操作,它将每一个数据符号转换为若干码片,因此增加了信号的带宽.每一个数据符号转换的码片数称为扩频因子.第二个是扰码操作,在此将扰码加在扩频信号上.在信道化操作时,I路 和 Q路的数据符号分别和正交扩频因子相乘.在扰码操作时,I路 和 Q路的

HTML标签之&lt;q&gt; &lt;blockquote&gt;

两个标签都表示“引用”. 不同的是,q标签是行内元素,在内容的开始和结尾处会包有“”,而 blockquote是块级元素,默认带有左右40px的外间距,不带“”. 从语义上讲,前者引用的是小段文字,后者引用的是大段的内容块. 从兼容性上讲,在IE67下q标签不会带有“”.FF下的引号是漂亮的全角字符:“”.而chrome下则为半角字符:"".至于IE89,应该也是全角字符,但在不指定字体的情况下真的丑爆了,在为其指定宋体或者微软雅黑后呈现与FF一致. 相关扩展: cite 属性规定引用