如何使用q#

lindexi lindexi     2022-10-05     131

关键词:

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 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系



如何使用 Q.js 在循环中执行异步函数

】如何使用Q.js在循环中执行异步函数【英文标题】:HowtoexecuteasynchronousfunctionsinaloopusingQ.js【发布时间】:2013-10-1704:50:46【问题描述】:我需要在循环中执行一个异步函数(使用不同的参数)。任何想法如何使用Node.js中的Q模块... 查看详情

我如何将 count() 与 Q 对象一起使用?

】我如何将count()与Q对象一起使用?【英文标题】:HowcouldIusecount()withQobject?【发布时间】:2012-09-1604:35:12【问题描述】:我正在使用Django,我应该如何使用django.db.models中的Q对象和count()来使用查询?【问题讨论】:你想达到什么... 查看详情

如何使用 $q 从 AngularJS 服务返回已解决的承诺?

】如何使用$q从AngularJS服务返回已解决的承诺?【英文标题】:HowtoreturnaresolvedpromisefromanAngularJSServiceusing$q?【发布时间】:2014-06-2708:38:21【问题描述】:我的服务是:myApp.service(\'userService\',[\'$http\',\'$q\',\'$rootScope\',\'$location\',funct... 查看详情

Oracle - 如何使用 q 在转义中使用函数

】Oracle-如何使用q在转义中使用函数【英文标题】:Oracle-Howtouseafunctioninsideanescapewithq【发布时间】:2021-12-1911:30:23【问题描述】:我知道我可以在这样的语句中转义字符串:select\'That\'\'sareallyfunny\'\'joke\'\'\'fromdual;--returns:That\'sare... 查看详情

如何使用 qRegisterMetaType 而不是 Q_ENUM?

】如何使用qRegisterMetaType而不是Q_ENUM?【英文标题】:HowtouseqRegisterMetaTypeinsteadofQ_ENUM?【发布时间】:2019-07-0103:04:23【问题描述】:这是我的包含Q_ENUM的类。由于我使用QVariant,我需要使用Q_ENUM。原因在我的应用程序中,有一个部... 查看详情

我如何使用`Q`与猫鼬绑定`save`方法

】我如何使用`Q`与猫鼬绑定`save`方法【英文标题】:HowcouldIbind`save`methodusing`Q`withmongoose【发布时间】:2014-07-0418:31:27【问题描述】:说我在User.js中有以下架构varmongoose=require(\'mongoose\');varQ=require(\'q\');varuserSchema=newmongoose.Schema(phone... 查看详情

django,如何在 Q 中使用计数

】django,如何在Q中使用计数【英文标题】:django,howtoUseCountinQ【发布时间】:2015-09-2921:29:28【问题描述】:我有以下型号:classGroup(models.Model):group_name=models.CharField(max_length=16)classMember(models.Model):group=models.ForeignKey(\'Group\')member_ 查看详情

如何使用 gmail API 的查询?设置属性 Q 似乎没有效果

】如何使用gmailAPI的查询?设置属性Q似乎没有效果【英文标题】:HowtousegmailAPI\'sQuery?SettingpropertyQseemstobenoteffect【发布时间】:2021-12-2618:34:56【问题描述】:我正在使用gmailAPI,除了查询,Q属性之外,一切都在工作。//service.Users.... 查看详情

如何将 django 的 Q 与 django taggit 一起使用?

】如何将django的Q与djangotaggit一起使用?【英文标题】:HowdoIusedjango\'sQwithdjangotaggit?【发布时间】:2013-06-3011:49:56【问题描述】:我有一个标有“一”和“二”的Result对象。当我尝试查询标记为“一”和“二”的对象时,我什么... 查看详情

QueryDsl - 如何使用 maven 创建 Q 类?

】QueryDsl-如何使用maven创建Q类?【英文标题】:QueryDsl-HowtocreateQclasseswithmaven?【发布时间】:2014-09-1310:15:57【问题描述】:我有带有spring数据的web项目springmvc这是示例:https://github.com/prilia/SpringJpa-Quarydsl-Test/tree/master/JpaSpringQuarydsl... 查看详情

使用重复参数而不是链接过滤器时,如何使用 Q 对象进行 AND 查找?

】使用重复参数而不是链接过滤器时,如何使用Q对象进行AND查找?【英文标题】:HowcanIdoANDlookupswithQobjectswhenusingrepeatedargumentsinsteadofchainingfilters?【发布时间】:2016-01-1922:01:12【问题描述】:我意识到我的问题更简单,我将保留... 查看详情

如何在 node.js 中实际使用 Q Promise?

】如何在node.js中实际使用QPromise?【英文标题】:HowtoactuallyuseQpromiseinnode.js?【发布时间】:2014-05-0521:28:54【问题描述】:这可能是一个菜鸟问题,但我是新来的承诺,并试图弄清楚如何在node.js中使用Q。我看到tutorial以开头promise... 查看详情

如何使用 MediaStore 在 Android Q 中保存图像?

】如何使用MediaStore在AndroidQ中保存图像?【英文标题】:HowtosaveanimageinAndroidQusingMediaStore?【发布时间】:2019-11-1604:08:01【问题描述】:这里是新的AndroidQScopedStorage的链接。根据thisAndroidDevelopersBestPracticesBlog,storingsharedmediafiles(... 查看详情

如何使用 .success 和 .error 在 Angularjs 中扩展 $q 承诺

】如何使用.success和.error在Angularjs中扩展$q承诺【英文标题】:HowcanIextend$qpromiseinAngularjswitha.successand.error【发布时间】:2013-05-2317:29:34【问题描述】:我在AngularJS的自定义服务中编写了这个小代码。为我服务:vardeferred=$q.defer();va... 查看详情

如何使用具有外键的模型进行 Q 查询?

】如何使用具有外键的模型进行Q查询?【英文标题】:HowtomakeQquerieswithmodelswithforeignkeys?【发布时间】:2013-10-1012:28:46【问题描述】:我的模型是这样定义的:classModel2(models.Model):id=models.IntegerField(primary_key=True)name=...classModel1(model... 查看详情

如何以及何时使用 Q_DECLARE_METATYPE

】如何以及何时使用Q_DECLARE_METATYPE【英文标题】:HowandwhentouseQ_DECLARE_METATYPE【发布时间】:2017-03-1609:09:01【问题描述】:我需要将QSqlRecord转换为QVariant并在整个项目中返回。为此,我添加了Q_DECLARE_METATYPE(QSqlRecord);在需要转换的... 查看详情

如何使用 Q_PROPERTY 公开自定义对象列表

】如何使用Q_PROPERTY公开自定义对象列表【英文标题】:HowtoexposelistofcustomobjectswithQ_PROPERTY【发布时间】:2018-10-1611:52:40【问题描述】:我有一个非常简单的类,有2个属性;键和值:KeyValue.h:classKeyValue:publicQObjectQ_OBJECTQ_PROPERTY(QSt... 查看详情

如何使用 $q 来返回一个 http 请求异步的值(使用打字稿)

】如何使用$q来返回一个http请求异步的值(使用打字稿)【英文标题】:Howtouse$qtoreturnavalueofanhttprequestAsync(usingtypescript)【发布时间】:2014-09-0120:01:52【问题描述】:我一直在尝试设置一个简单的promise异步结构来从http请求返回jso... 查看详情