量子计算的基本原理——本质上是在操作薛定谔的猫(同时去运算和操作死+不死两种状态)
摘自:https://www.zhihu.com/question/26933442/answer/34797301
更新了!~更新了!稍微写的更详细一点。我觉得这样应该能懂了。
请专家指正。下面论述是我个人的理解。这里是谈量子计算所以和纠缠瞬间塌缩关系不大。(当然我们也知道不能超光速传递信息。) 当然这是一种委婉的说法其实就是没有关系。量子通信是另外一个问题与这个问题无关。
量子比特的基本原理:这一部分我们会阐述二进制,二进制序列和对二进制序列的操作。
我们首先来看计算机是怎么保存数据的。计算机中,用0和1二进制序列保存数据。抽象的来看,二进制0和1分别代表了系统的两种“状态”。也就是说,我们只要能够找到一个有两个可以区分的状态的系统,就可以抽象的实现计算机的二进制。因此我们首先讨论如何在系统中实现二进制。
在经典计算机中,01由不同的电压实现,0代表低电压信号,1代表高电压信号。
在量子力学中,我们有很多天然的双态系统来实现这种两个可区分的状态(不需要太纠结量子力学的态表示什么)。比如自旋1/2系统,这在量子力学中对应自旋向上/向下两种状态的系统;或者更经典的光子的极化,比如一束光具有不同的偏振状态(比如左旋/右旋偏振光)。总之,我们能够在量子力学中找到实现二进制的系统。
在实现二进制之后,我们的下一步是需要得到二进制序列。
在经典计算机中,二进制序列由一个高低电压交错的脉冲实现。比如001对应于一个低电压-低电压-高电压的信号。在量子力学中,我们通过纠缠态实现二进制序列。具体而言,比如某个光子处于态上, 我们可以把这个光子和其它光子纠缠起来得到一个N光子纠缠态
,这样我们就实现了一个二进制的序列。
在这里,量子世界和经典世界出现了不同。在经典世界中,我们只能同时拥有一个状态。比如,如果我们拥有了001态,我们就不能同时拥有010态,这是因为两个态的电压会叠加,如果同时拥有这两个态的话我们只能够得到011态。但是在量子世界中,我们可以得到叠加态。具体来说,系统的状态可以同时处于态。其中叠加系数a,b的模方表示我们在测量中得到相应态的概率。比如,我们得到
的概率是
。当然概率归一化要求
。
我们阐述的态叠加原理会导致什么后果呢?比如我们通过Hadamard门制备了一个态,并用这个态制备一个N光子纠缠态
, 那么我们看到,这个态就同时处于
到
的等概率叠加态。(最简单的例子,比如
)
这个事实说明了什么呢?与经典算法不同,我们的操作可以同时对上面的所有态进行。因此,如果我们能够找到一种有效的算法来同时处理这些态,那么我们就能够进行并行计算,因此我们算法的速度比起经典就大大提高了。这个并行与经典的并行算法的区别在于,经典的并行是把任务分成小的部分(比如算一个加法12+34,我们可以同时加十位和加各位然后最后加上两个结果),量子并行是同时处理了很多不一样的状态(同时计算了12+34,23+45, ...)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」