量子计算(9)编程实践1:构造贝尔态
相信通过前面几节课的学习,大家已经多多少少对量子计算这门课感到了浓厚的兴趣。前面我们讲到了|0>态,讲到了|1>态,这些都属于基态,但是我们今天要学习的是几种更为复杂的状态,其中包含特别有意思的贝尔态。
目录
一、纯态和混合态介绍
1、介绍
2、判定方法
3、量子门与密度矩阵
二、贝尔态
1、直积态与纠缠态
2、介绍
3、构造方法
三、实践:构造bell态
一、纯态和混合态介绍
1、介绍
量子计算的书是这样定义混合态和纯态的:“具有精确已知状态的量子系统称为纯态(pure state)。在这种情况下,密度算子就是ρ = ∣> <∣ ,我们也把密度算子称为密度矩阵,此情况下以100%的概率处在∣> 态。
比如说就是一个纯态,它能拆解为|0><0|,同理也是,因为能拆解为|1><1|。
如果不能用向量的形式描述量子态,是借助密度矩阵的形式描述的,那么这个量子态就是混合态,系统就是处于混合态(mixed state),称为是在ρ的系综里不同纯态的混合。”
总结一下上面这段话,就是对于纯态它可以借助矢量和密度算子两种形式进行描述;但是对于混合态,是只能借助密度矩阵的形式进行描述的。
2、判定方法
通常会使用tr()[矩阵对角线之和]与1的关系,来判定它是不是纯态。如果tr()=1,表明它是一个纯态,如果tr()<1表明这是一个混合态。
3、量子门与密度矩阵
我们做一个题目,立马就会了:
Ted使用一个量子线路对自己手中的初态∣0〉进行演化,但她的量子线路有些故障,有1/4的概率什么都不做,1/4的概率作用X门,1/2的概率作用H门。则她所获得的末态对应的密度矩阵应该是
【解析】:由题意知道,Ted的态有四分之一的概率在|0>态,由四分之一的概率在|1>态,还有二分之一的概率在|+>态。根据概率矩阵的定义ρ=,求得密度矩阵为。
二、贝尔态
1、直积态与纠缠态
我们来看看它们的定义。
直积态:复合系统的量子态|a>可以表示为若干个孤立子系统|a1>、|a2>、|a3>……|an>的直积形式,这些子系统相互独立,不存在纠缠,即|a>=|a1>|a2>|a3>……|an>,则此符合量子态称之为直积态。
纠缠态:若一个量子系统不能写成若干个子系统的直积形式,则称此量子态为纠缠态。
看不懂的话,还是让小编举个例子吧!
例如:|01>就是直积态,很明显,因为这就是|0>|1>,而我们接下来要学习的贝尔态都不是直积态,并且我们通过对贝尔态的学习可以发现:纠缠态和纯态并不对立。
2、介绍
贝尔态是一个极其复杂的状态,也被称为EPR态或者EPR对。它是用首次提出这些奇怪性质的学者贝尔,以及Einstein(没错,就是爱因斯坦)、Podolsky、Rosen的名字命名的。
好的,现在热烈欢迎,四位嘉宾登场!有请,潘周聃。(帅气扭头)
,
,
不难发现,以上四种量子态均不能写作 ∣ϕ>= (a∣0>+b∣1>)⊗(c∣0> +d∣1>) ,不过还是希望大家头铁的去试一试,看看是不是果真如此。
那么,它是纯态吗?相信很多读者听名字,纠觉得纯态和纠缠态势不两立,水火不容。刚好用这个例子,来证明,这两种状态均可存在于一体。
证明方法:请算出概率矩阵的平方,判断这个新得到的矩阵,对角线之和是不是等于1。
3、构造方法
①假设输入为|0>与|0>,首先高位量子比特经过Hadamard Gate,(高位量子比特作为控制比特,低位量子比特作为目标比特),则可以得到。
②假设输入为|0>与|1>,首先在pyqpanda中低位量子比特要从|0>变为|1>需要经过一个X门,并且高位量子比特需要经过Hadamard Gate,(高位量子比特作为控制比特,低位量子比特作为目标比特),则可以得到。
假设输入为|1>与|0>,首先在pyqpanda中高位量子比特要从|0>变为|1>需要经过一个X门,并且高位量子比特还需要经过Hadamard Gate,(高位量子比特作为控制比特,低位量子比特作为目标比特),则可以得到。
④假设输入为|1>与|1>,首先在pyqpanda中高位量子比特与低位量子比特要从|0>变为|1>需要经过一个X门高位量子比特还要经过Hadamard Gate,(高位量子比特作为控制比特,低位量子比特作为目标比特),则可以得到。
三、实践:构造bell态
题目:请用“3、构造方法”里的思路,构造出四种贝尔态。要求输入字符串表示是哪一种贝尔态,返回值为量子状态。
from pyqpanda import *
import numpy as np#输入字符串,返回状态列表
def question1(input: str) -> list:def getFirstNum(input: str) -> int:return int(input[0])# 获取输入字符的第一个数字def getSecondNum(input: str) -> int:return int(input[1])# 获取输入字符的第二个数字num1 = getFirstNum(input)num2 = getSecondNum(input)qvm = CPUQVM()qvm.init_qvm()qubits = qvm.qAlloc_many(2)cbits = qvm.cAlloc_many(2)cbits[1].set_val(num2)cbits[0].set_val(num1)# 构造量子程序progprog = QProg()# 构造量子程序的各个条件分支progstart = QProg()progend = QProg()# 当输入00与01时,不需要插入X门# 当输入10与11时,需要将0态转变为1态,即加一个X门progstart.insert(X(qubits[1]))# 如果输入00或者10,则第二条线路输入0态,否则执行X门操作,将其变为1态progend.insert(X(qubits[0]))# qif1执行对第一条线路的改造,qif2执行对第二条线路的改造qif1 = create_if_prog(cbits[0], progstart)qif2 = create_if_prog(cbits[1], progend)prog.insert(qif1)prog.insert(qif2)prog.insert(H(qubits[1]))prog.insert(CNOT(qubits[1], qubits[0]))# 用prob_run_list测概率result2 = qvm.prob_run_list(prog, qubits, -1)#使用get_qstate()函数返回列表result = qvm.get_qstate()# 返回此概率列表return resultprint("本题的结果为:")
print("当输入为00时,结果为", question1("00"))
print("当输入为01时,结果为", question1("01"))
print("当输入为10时,结果为", question1("10"))
print("当输入为11时,结果为", question1("11"))
输出的结果为:
结果正确!
那么,如果您感觉小编写的文章对您有帮助,请点个赞与收藏再走好嘛?谢谢大家!
量子计算(9)编程实践1:构造贝尔态相关推荐
- 量子计算机编程pdf,浅谈量子计算与编程.pdf
浅谈量子计算与编程 OSDT 2017 邢明杰 2017-10-21 量子计算 "Changes occurring to a quantum state can be described ...
- python与会计的论文_python计算与编程实践论文范文 有关西安交通大学软件学院软件工程硕士研究生毕业论文写作资料...
简介:关于对写作计算实践论文范文与课题研究的大学硕士.相关本科毕业论文计算实践论文开题报告范文和相关文献综述及职称论文参考文献资料下载有帮助. 西安交通大学 移动云计算方向 培养方向 培养目标 课程体 ...
- 学习笔记 -《量子计算与编程入门》- 量子计算机硬件基础
文章目录 1 量子芯片 1.1 超导量子芯片 1.1.1 超导量子计算的进展 1.2 半导体量子芯片 1.2.1 基于电荷位置的量子比特 1.2.2 基于自旋的量子比特 1.2.3 半导体量子计算也正 ...
- 学习笔记 -《量子计算与编程入门》- 量子程序
文章目录 1 量子计算原理 1.1 酉变换 1.2 矩阵的指数函数 1.3 单量子比特逻辑门 1.3.1 泡利矩阵 1.3.2 常见逻辑门以及含义 · Hadamard (H) 门 · Pauli-X ...
- “新产业50人论坛”之陈柳平:量子通信与量子计算的商业实践
10月23日,由中关村发展集团主办,中关村产业研究院承办的"新产业50人论坛"上,启科量子联合创始人/CTO陈柳平发表了<量子通信与量子计算的商业化.产业化实践>主题演 ...
- 基于量子计算的无收益标的资产欧式看涨期权定价和delta风险分析
目录 1. 问题 1.1. 描述 1.2. 解读 2. 原理 2.1. BSM模型 2.2. 经典蒙特卡洛算法 2.3. 量子蒙特卡洛算法 2.4. 量子.量子计算和量子算法 2.5. 量子算法在金融 ...
- 量子计算基础整理(上)
量子计算基础整理 目录 量子计算基础整理 写在前面 量子力学基础 量子的四个特性 量子态的描述 定义 状态演化 叠加态与测量 相态,纯态和混合态 混合态的表示 可观测量与量子观测 复合系统与联合测量 ...
- MindSpore Quantum 量子计算编程与实践:轻松上手量子卷积神经网络
MindSpore Quantum 量子计算编程与实践:轻松上手量子卷积神经网络 在本文中,我们将介绍一些量子信息的基础知识 和 MindQuantum 量子计算框架的基本用法,最后基于 MindQu ...
- WAIC 2021 | 百度量子计算段润尧:从理论到实践谈量子人工智能
在 WAIC 2021 AI 开发者论坛上,百度研究院量子计算研究所所长段润尧发表主题演讲<量子人工智能:从理论到实践>.在演讲中,段润尧讲述了量子计算的理论基础,对量子人工智能的发展现状 ...
最新文章
- hdu-3944 DP?
- plc和pc串口通讯接线_Plc与pc串口调试手册
- Django从理论到实战(part3)--创建一个Django项目
- 在中国做操作系统研发 20 年是种什么体验?
- java设计一个顺序表类的成员函数,用java编写一个逐个输出顺序表中所有数据元素的成员函数...
- (Deep learning)深度卷积网络实战——第二部分
- Qt——P20 模态和非模态对话框创建
- LINUX关于休眠、待机和睡眠的问题
- 【5G架构】5G 协议栈结构以及与OSI七层协议之间的关系
- c语言编码菱形,C语言输出菱形代码及解析
- ArcGIS实验教程——实验二十八:统计图表(饼状图、柱状图)制作
- 计算机组成与原理第三章答,计算机组成与原理第三章答案.doc
- 知云文献翻的一些使用
- Spark REPL
- 【docker】虚拟化和docker容器概念
- [08S01] dategrip 链接 linux mysql遇到的错误
- bilibili直播地址获取
- 华为交换机关闭网页服务器,华为交换机的端口定时关闭方法
- Linux解决僵尸进程的几种方式,SIGCHLD信号设置SIG_IGN处理方式等
- ar71xx php-fpm,ar71xx和ar93xx平台所有8M固件!!nwan,aria2,qos,samba,tr,cpulimit-ng,等等...