热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Q#如何在不破坏量子位状态的情况下读取它?

如何解决《Q#如何在不破坏量子位状态的情况下读取它?》经验,为你挑选了1个好方法。

第一个Q#代码示例提供一种方法“ Set”,其编写方式如下(链接):

operation Set (desired: Result, q1: Qubit) : ()
{
    body
    {
        let current = M(q1);
        if (desired != current)
        {
            X(q1);
        }
    }
}

该方法将量子位设置为所需值。为此,将测量qubit值,如果该值与预期值不同,则将“交换” qubit状态。

但是在量子物理学中,如果不破坏粒子就无法测量粒子。这是《量子计算和量子信息》一书的引文:

...测量会更改量子位的状态,使其从| 0>和| 1>的叠加变为与测量结果一致的特定状态。例如,如果| +>的测量结果为0,则qubit的测量后状态将为| 0>。

但是使用Q#可以测量一个量子比特并继续使用它。

为什么Q#语言允许我们实现实际上不可能的操作?

预先感谢您的回答。



1> Chris Granad..:

我认为回顾一下尼尔森和庄的报价可能会有所帮助:

例如,如果测量| +?给出0,则量子位的测量后状态将为| 0?。

也就是说,量子位不会被测量破坏,但是为了使量子力学保持一致,测量之后的状态必须与我们所测量的一致(这种一致性要求有时被非正式地称为“崩溃”)。在您的Q#示例中,如果我们Zero从对M操作的调用中获得a ,那么我们知道qubit在| 0中?正是Nielsen和Chuang所描述的。另一方面,如果One从对的调用中获得a M,则我们知道qubit处于| 1?= X | 0 ?,因此我们需要应用另一个X门回到| 0?。(注意:如果您的量子位以光子形式存储,那么讨论可能会大不相同-在不吸收光子的情况下很难测量光子。这可以使用量子非爆破测量来完成,但这完全是另一主题。 #假设可以按照您对Nielsen和Chuang的描述所描述的方式来测量量子位,而不是以光子吸收来测量。)

在这种情况下,Q#经过精心设计,仅允许在实验实践中可以实现的测量。但是,能够使用经典的模拟器以某些实际量子设备无法实现的方式探测某些量子位的状态通常非常有用。在Q#中,有两种主要的方法可以做到这一点。首先,可以使用断言AssertQubit来编写单元测试,如果qubit不在预期状态,则单元测试将失败。其次,您可以使用Microsoft.Quantum.Diagnostics命名空间中的函数要求模拟器转储其具有的诊断信息,例如,其使用的状态表示Q#程序使用的qubit。在实际硬件上,诊断信息可能看起来非常不同。


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 加密世界下一个主流叙事领域:L2、跨链桥、GameFi等
    本文介绍了加密世界下一个主流叙事的七个潜力领域,包括L2、跨链桥、GameFi等。L2作为以太坊的二层解决方案,在过去一年取得了巨大成功,跨链桥和互操作性是多链Web3中最重要的因素。去中心化的数据存储领域也具有巨大潜力,未来云存储市场有望达到1500亿美元。DAO和社交代币将成为购买和控制现实世界资产的重要方式,而GameFi作为数字资产在高收入游戏中的应用有望推动数字资产走向主流。衍生品市场也在不断发展壮大。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 配置IPv4静态路由实现企业网内不同网段用户互访
    本文介绍了通过配置IPv4静态路由实现企业网内不同网段用户互访的方法。首先需要配置接口的链路层协议参数和IP地址,使相邻节点网络层可达。然后按照静态路由组网图的操作步骤,配置静态路由。这样任意两台主机之间都能够互通。 ... [详细]
  • This article discusses the efficiency of using char str[] and char *str and whether there is any reason to prefer one over the other. It explains the difference between the two and provides an example to illustrate their usage. ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
author-avatar
心在流血谁懂
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有