量子算法入门—4.量子比特与量子门(1)

1.量子比特

  1. 经典比特和量子比特
  • 经典比特只有0、1两种取值,非黑即白,有n位即 2 n 2^n 2n种可能
  • 量子比特使用0、1的量子态描述量子比特的状态,可以通过线性组合形成新的量子态,就像光谱可以调节成分
    在这里插入图片描述
  1. 引入线代记法,0、1是z轴上的自旋劈裂
    在这里插入图片描述

  2. 制备叠加态
    在这里插入图片描述
    在这里插入图片描述

  3. x、y轴方向基底
    在这里插入图片描述
    上图代码第6行注解:python中,使用j代替数学中的虚数i,单独的j不能参与运算,必须前面跟一个数字才能被识别成复数

  4. 经典信息与量子信息
    在这里插入图片描述
    上图使用α减去β即为z轴上的坐标,其他轴上的坐标同理。

  5. 计算坐标的py代码

def get_bloch_coordinates(qubit):def get_x_bloch(qubit):qubit_x_basis = 1./np.sqrt(2) * np.matrix('1 1;1 -1')* qubitprob_zero_qubit = (qubit_x_basis.item(θ) * qubit_x_basis.item(θ).conjugate()).real prob_one_qubit = (qubit_x_basis.item(1) * qubit_x_basis.item(1).conjugate()).real return prob_zero_qubit - prob_one_qubitdef get_y_bloch(qubit):qubit_y_basis = 1./np.sqrt(2) * np.matrix('1 1;1 -1')*np.matrix([[1,0],[θ, 1j]]) * qubit 	prob_zero_qubit = (qubit_y_basis.item(θ)* qubit_y_basis.item(θ).conjugate()).realprob_one_qubit = (qubit_y_basis.item(1) * qubit_y_basis.item(1).conjugate()).real return prob_zero_qubit - prob_one_qubitdef get_z_bloch(qubit): qubit_z_basis = qubitprob_zero_qubit = (qubit_z_basis.item(θ) * qubit_z_basis.item(θ).conjugate()).real 	prob_one_qubit = (qubit_z_basis.item(1) * qubit_z_basis.item(1).conjugate()).real return prob_zero_qubit - prob_one_qubitreturn (get_x_bloch(qubit), get_y_bloch(qubit), get_z_bloch(qubit)) //返回布洛赫球面的坐标
  1. 已知线性代数表示的量子态,将其画到布洛赫球上
def plot_bloch(qubit):import matplotlib.pyplot as plt fig = plt.figure()ax = fig.add_subplot(111, projection='3d') # 绘制球体u,v= np.mgrid[θ:2*np.pi:20j,θ:np.pi:10j] x = np.cos(u)*np.sin(v)y = np.sin(u)*np.sin(v) z = np.cos(v)ax.plot_wireframe(x, y, z, color="k", alpha=.1) ax.grid(θ)(x,y,z) = get_bloch_coordinates(qubit)ax.quiver([θ],[θ],[θ],[x],[y],[z], length=1, arrow_length_ratio=0.3) ax.set_xlim([-1, 1])ax.set_ylim([-1, 1]) ax.set_zlim([-1, 1]) ax.view_init(azim = 20) return ax

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/707971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARK:《BIG IDEAS 2024》

Cathie Wood所带领的方舟投资(ARK)发布了年度重磅研究报告《BIG IDEAS 2024》,该报告指出人工智能、公共区块链、多组学测序、能源存储和机器人技术这五大板块的融合将带来全球经济活动的改变。 这五个创新平台正在融合并定义这个技术时代&am…

92. 递归实现指数型枚举 刷题笔记

思路 dfs 考虑选或者不选每个位置 用0表示未考虑 1表示选 2表示不选 用u表示搜索状态 u>n时 已经搜到底层了 需要输出当前方案 遍历 如果选了则输出 #include<iostream> using namespace std; int n; const int N16; int st[N]; void dfs(int u){ //u来记…

Git自动忽略dll文件的问题

检查了半天发现是sourcetreee的全局忽略文件导致&#xff0c; 从里面删除dll即可。 我是干脆直接删了全局忽略&#xff0c;太恶心了&#xff0c;如下&#xff1a; #ignore thumbnails created by windows Thumbs.db #Ignore files build by Visual Studio *.exe .vsconfig .s…

fastAdmin表格列表的功能

更多文章&#xff0c;请关注&#xff1a;fastAdmin后台功能详解 | 夜空中最亮的星 FastAdmin是一款基于ThinkPHP5Bootstrap的极速后台开发框架。优点见开发文档 介绍 - FastAdmin框架文档 - FastAdmin开发文档 在这里上传几张优秀的快速入门图: 一张图解析FastAdmin中的表格列…

Linux网络编程(四-TCP协议)

目录 一、TCP概念 二、TCP的首部格式 三、TCP可靠传输机制 3.1 确认应答机制 3.2 超时重传机制 3.3 连接管理 3.3.1 三次握手 3.3.2 四次挥手 3.4 流量控制 3.5 拥塞控制 四、TCP效率机制 4.1 滑动窗口 4.2 重发控制 4.3 延迟应答 4.4 捎带应答 五、TCP的…

大数据分布式计算工具Spark实战讲解(数据输入实战)

Python数据容器转RDD对象 PySpark支持通过SparkContext对象的parallelize成员方法&#xff0c;将&#xff1a; - list - tuple - set - dict - str 转换为PySpark的RDD对象 注意&#xff1a; •字符串会被拆分出1个个的字符&#xff0c;存入RDD对象 •字典仅有key会被存入…

问题:输入git命令出现END命令,按住ctrl+c都没有不能退出,只能输入q才能退出

当输入git命令时&#xff0c;例如git log&#xff0c;会直接出现END这种黑框&#xff0c;按住ctrlc都不能退出&#xff0c;只能通过输入q才能退出的情况 解决方法&#xff1a; git config --global core.pager

Open Harmony开发之分布式账本

简介 Demo基于Open Harmony系统使用ETS语言进行编写&#xff0c;本Demo主要通过设备认证、分布式拉起、分布式数据管理等功能来实现。 应用效果 设备认证,获取同一个局域网内的设备ID&#xff0c;并拉起应用 添加数据并在另一台设备显示该数据 开发步骤 1.新建Openharmony…

安卓使用okhttpfinal下载文件,附带线程池下载使用

1.导入okhttp包 implementation cn.finalteam:okhttpfinal:2.0.7 2.单个下载 package com.example.downloading;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.util.Log; import android.view.View;import java.io.File;import c…

[java] 23种设计模式之装饰者模式

1.1 装饰者模式的概念 ​ 1、在不必改变原类文件和使用继承的情况下&#xff0c;动态地扩展一个对象的功能。它是通过创建一个包装对象&#xff0c;也就是装饰来包裹真实的对象。 ​ 装饰对象接受所有来自客户端的请求。它把这些请求转发给真实的对象。装饰对象可以在转发这些…

Gitlab部署管理

一、安装 1.docker安装gitlab sudo docker run -d \-p 6080:80 -p 6022:22 \--name gitlab \--restart always \-v /srv/gitlab/config:/etc/gitlab \-v /srv/gitlab/logs:/var/log/gitlab \-v /srv/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest2.存储说明 存储应…

大数据分布式计算工具Spark数据计算实战讲解(map方法,flatmap方法,reducebykey方法)

数据计算 map方法 PySpark的数据计算&#xff0c;都是基于RDD对象来进行的&#xff0c;那么如何进行呢&#xff1f; 自然是依赖&#xff0c;RDD对象内置丰富的&#xff1a;成员方法&#xff08;算子&#xff09; 功能&#xff1a;map算子&#xff0c;是将rdd的数据一条条处…

Java 小项目开发日记 01(注册接口的开发)

Java 小项目开发日记 01&#xff08;注册接口的开发&#xff09; 1.项目需求 完成注册接口 2.项目目录 3. 配置文件&#xff08;pom.xml&#xff09; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-insta…

NWatch-Alarm闹钟功能实现

文章目录 W25Q64初始化SPI初始化W25Q初始化 AlARM模块初始化AlARM模块绘制Draw函数AlARM的更新函数AlARM中最重要的函数 W25Q64初始化 W25Q64用来存储用户设置的闹钟值&#xff0c;开机的时候自动读取闹钟记录。 SPI初始化 使用CubeMx自动配置。 #define SPI1CS_ON HAL_GP…

3d模型导出简单线条的步骤---模大狮模型网

导出简单线条的3D模型通常涉及以下步骤&#xff1a; 创建线条模型&#xff1a;首先&#xff0c;在您的3D建模软件中创建或导入包含线条的模型。这可以是简单的线框模型&#xff0c;也可以是由线条构成的复杂形状。确保您的模型中只包含您希望导出的线条部分。 选择导出格式&am…

Python的自然语言处理库NLTK介绍

NLTK&#xff08;Natural Language Toolkit&#xff09;简介 NLTK是Python中一个领先的自然语言处理&#xff08;NLP&#xff09;库&#xff0c;它提供了文本处理的基础设施&#xff0c;包括分词&#xff08;tokenization&#xff09;、词性标注&#xff08;part-of-speech tag…

yolov5v7v8目标检测增加计数功能--免费源码

在yolo系列中&#xff0c;很多网友都反馈过想要在目标检测的图片上&#xff0c;显示计数功能。其实官方已经实现了这个功能&#xff0c;只不过没有把相关的参数写到图片上。所以微智启软件工作室出一篇教程&#xff0c;教大家如何把计数的参数打印到图片上。 一、yolov5目标检测…

前端Ajax获取当前外网IP地址并通过腾讯接口解析地理位置

目录 一、获取访问端IP地址 二、可用的IP获取接口 1、韩小韩IP获取接口&#xff1a; 2、ipify API 附3、失败的太平洋接口 三、腾讯位置服务-IP位置查询接口 一、获取访问端IP地址 原计划使用后端HttpServletRequest 获取访问端的IP地址&#xff0c;但在nginx和堡垒机等阻…

在 Ubuntu 中卸载 Microsoft Edge 浏览器

1在 Ubuntu 中卸载 Microsoft Edge 非常容易&#xff0c;只需在「终端」中执行如下命令即可&#xff1a; sudo apt autoremove microsoft-edge-stable --purge 卸载 Microsoft Edge 2卸载完成后&#xff0c;可执行以下命令删除microsoft-edge.gpg密钥&#xff1a; sudo rm -rf…

峟思科普小(1)型土石坝安全监测设备的基本配置与策略

土石坝&#xff0c;作为水利工程中的重要组成部分&#xff0c;其安全性能直接关系到下游人民的生命财产安全。为了确保土石坝的安全运行&#xff0c;必须对其进行科学有效的安全监测。本文将详细阐述小(1)型土石坝安全监测设备的基本配置与策略。 首先&#xff0c;对于存在渗漏…