量子隐形传态1 Quantum Teleportation
量子隐形传态是量子纠缠的又一个应用。
隐形传态,所谓隐形的意思就是没有物质介质就传递了信息,在经典世界,传递信息要有介质,光、电磁波或者其他的什么,但是在量子的世界里,我可以把信息传递给你,并且不传递任何一个量子比特。
量子不能克隆原理
不能克隆就是说,没有任何一个U操作,可以输入\(|\psi\rangle\) 和 \(|0\rangle\) 然后得到输出 \(|\psi\rangle\) 和 \(|\psi\rangle\) 。
why?

若是真的有这么一个操作算符,如图a,可以复制任意的量子比特 \(|u\rangle\) 我们希望的结果如下:
输入:\((\alpha_0 | 0\rangle +\alpha_1 | 1\rangle)|0\rangle\)
输出:\((\alpha_0 | 0\rangle +\alpha_1 | 1\rangle)(\alpha_0 | 0\rangle +\alpha_1 | 1\rangle)\)
另一方面
我们希望输入是\(|00\rangle\)输出也是\(|00\rangle\),当输入变成\(|10\rangle\)后,输出也就变成\(|11\rangle\)
而要以上两种情况相等,只有一种可能,即\(|u\rangle\)是\(|0\rangle\)或者\(|1\rangle\)的时候,但是这样,也就没有叠加态的,这样复制的,也就是一个普通的bit。
Teleportation CNOT
那么,如果要把一个自己不知道是什么状态的 \(|u\rangle=\alpha_0 | 0\rangle +\alpha_1 | 1\rangle\) 传递,要怎么办呢?
图b是前面介绍过的CNOT门,有CNOT门,我们很容易就可以把 \(\alpha_0 | 00\rangle +\alpha_1 | 10\rangle\)变成 \(\alpha_0 | 00\rangle +\alpha_1 | 11\rangle\) 。
此时并没有被复制,因为第一个比特和第二个比特之间还是纠缠的,也就是说你测量第一个比特,第二个就会坍缩,你测量第二个,第一个也同理,信息并没有copy两份,所以量子不可复制原理没有被打破。
接下来我们要来处理第一个比特。
如果直接测量第一个比特,很明显,第二个比特就坍缩了。
但是测量还是要测的,不过不是在 \(| 0\rangle\) 、 \(| 1\rangle\) 基,而是在 \(| +\rangle\) 、 \(| -\rangle\) 基。
\[\begin{align}|\psi\rangle&=\alpha_0|00\rangle + \alpha_1|11\rangle\\&=\alpha_0(\frac{1}{\sqrt2}|+\rangle + \frac{1}{\sqrt2}|-\rangle)|0\rangle+\alpha_1(\frac{1}{\sqrt2}|+\rangle - \frac{1}{\sqrt2}|-\rangle)|1\rangle\\&=\frac{1}{\sqrt2}|+\rangle(\alpha_0|0\rangle + \alpha_1|1\rangle)+\frac{1}{\sqrt2}|-\rangle(\alpha_0|0\rangle - \alpha_1|1\rangle) \end{align}\]
在 \(| +\rangle\) 、 \(| -\rangle\) 基对第一个比特测量:
如果测量的结果是 \(|+\rangle\) ,那么第二比特的状态就是 \(\alpha_0 | 0\rangle +\alpha_1 | 1\rangle\) ,正好是我们最初想要传递的态。
如果测量的结果是 \(|-\rangle\) ,那么第二比特的状态就是 \(\alpha_0 | 0\rangle -\alpha_1 | 1\rangle\) ,再经过Z门的翻转就是我们最初想要传递的态了。
参考资料
Quantume Mechanics & Quantume Computation Lecture 5
量子隐形传态1 Quantum Teleportation的更多相关文章
- 预见未来丨机器学习:未来十年研究热点 量子机器学习(Quantum ML) 量子计算机利用量子相干和量子纠缠等效应来处理信息
微软研究院AI头条 https://mp.weixin.qq.com/s/SAz5eiSOLhsdz7nlSJ1xdA 预见未来丨机器学习:未来十年研究热点 机器学习组 微软研究院AI头条 昨天 编者 ...
- [转帖]谷歌宣称首次实现量子优越性,IBM“不服”,中国同行咋看?
谷歌宣称首次实现量子优越性,IBM“不服”,中国同行咋看? 投递人 itwriter 发布于 2019-10-24 15:46 评论(7) 有306人阅读 原文链接 [收藏] « » https:// ...
- 在 Visual Studio 中使用 Q# 进行量子编程
1 量子计算机与量子编程 1.1 量子计算机 Quantum computing is computing using quantum-mechanical phenomena, such as su ...
- Quantum Bogo sort浅谈
1.普通的猴子排序(bogo sort) 猴子排序百科 en.wikipedia.org/wiki/Bogosort 不停的随机打乱序列,然后检查,直到排好序 复杂度O(n*n!) while not ...
- 5000量子位支持量子编程,D-Wave推出下一代量子计算平台计划
5000量子位支持量子编程,D-Wave推出下一代量子计算平台计划 近日,全球量子商用化重要参与者 D-Wave 公司又有大动作:推出其5000量子比特量子计算的发展蓝图.D-Wave 下一代量子计算 ...
- Quantum CSS,一个超快的CSS引擎
开始 本文翻译自Inside a super fast CSS engine: Quantum CSS,如果想要阅读原文,可以点击前往,以下内容夹杂本人一些思考,翻译也并不一定完全. 碎碎念 为什么翻 ...
- 量子计算机编程(一)——QPU编程
今天要给大家介绍的是这本书<Programming Quantum Computers -- Essential Algorithms and Code Samples>,主要讲如何在量子 ...
- Hawk 3. 网页采集器
1.基本入门 1. 原理(建议阅读) 网页采集器的功能是获取网页中的数据(废话).通常来说,目标可能是列表(如购物车列表),或是一个页面中的固定字段(如JD某商品的价格和介绍,在页面中只有一个).因此 ...
- [转载]拜占庭问题深入讨论 from http://bitkan.com/news/topic/14011
拜占庭将军问题深入探讨 了解过比特币和区块链的人,多少都听说过拜占庭将军问题,或听说过比特币(或区块链)的一个重要成就正是解决了拜占庭将军问题.但真正明白这个问题的人并不多,甚至知道这个问题实质的人都 ...
随机推荐
- [转]si设置
好吧,我有代码格式的强迫症,代码不整齐,我看的都头疼,之前一直喜欢用SourceStyler C++的,但是这个在win7下貌似不能使用,只能转向astyle了. http://www.cnblogs ...
- 开关电路_MOS和三极管
https://blog.csdn.net/acelit/article/details/70171312 绍过一般的电源开关电路,控制电源的目的是省电,控制静态电流.不过以下的电路存在着几个缺点: ...
- Django-select_related优化查询
对于一对一字段(OneToOneField)和外键字段(ForeignKey),可以使用select_related 来对QuerySet进行优化. select_related 返回一个QueryS ...
- Django-wsgi实例
wsgiref实现了wsgi,他会将复杂的http请求经过处理,得到Django需要的格式,可以说他是一个接口,一端传入数据,一端处理数据 传统的socket实现 import socket def ...
- kubernetes调度之污点(taint)和容忍(toleration)
系列目录 节点亲和性(affinity),是节点的一种属性,让符合条件的pod亲附于它(倾向于或者硬性要求).污点是一种相反的行为,它会使pod抗拒此节点(即pod调度的时候不被调度到此节点) 污点和 ...
- 02 svn 文件提交与目录结构
一:文件操作给svn服务器提交程序文件: ① 在被提交文件的身上点击右键------> tortoiseSVN----->add ② 在被提交文件身上点击右键------> comm ...
- 果壳、推库、虎秀、知乎、it世界
果壳.推库.虎秀.知乎.it世界
- 自定义 spinner
http://blog.sina.com.cn/s/blog_3e333c4a010151cj.html
- spring+mybatis多数据源,动态切换
有时我们项目中需要配置多个数据源,不同的业务使用的数据库不同 实现思路:配置多个dataSource ,再配置多个sqlSessionFactory,和dataSource一一对应.重写SqlSess ...
- Thread join方法的用途
主线程中会创建多个子线程做一些事情,主线程要用到这些子线程处理的数据,因此它需要等待所有的子线程处理完之后才继续运行.这就要用到join方法了.