当前位置: 首页 > news >正文

贝尔不等式的验证

在量子计算机上运行一个实验,以演示使用Estimator原型违反CHSH不等式。

import numpy as npfrom qiskit import QuantumCircuit
from qiskit.circuit import Parameter
from qiskit.quantum_info import SparsePauliOpfrom qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime import EstimatorV2 as Estimatorimport matplotlib.pyplot as plt
import matplotlib.ticker as tck#要在硬件上运行,请选择队列中作业数量最少的后端
service = QiskitRuntimeService(channel="ibm_quantum")
backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127)
backend.name

创建一个参数化的CHSH电路

        首先,我们用参数θ来编写电路,我们称之为θ。Estimator原型机通过直接提供可观测值的期望值,极大地简化了电路的构建和输出分析。许多令人感兴趣的问题,特别是对于噪声系统的近期应用,都可以用期望值来表示。估计器(V2)原语可以根据提供的可观察对象自动更改度量基础。

theta = Parameter("$\\theta$")chsh_circuit = QuantumCircuit(2)
chsh_circuit.h(0)
chsh_circuit.cx(0, 1)
chsh_circuit.ry(theta, 0)
chsh_circuit.draw(output="mpl", idle_wires=False, style="iqp")

 

        创建参数化CHSH电路后,下一步将创建要分配给电路的相位值列表。您可以使用以下代码创建21个相位值的列表,范围从0到2π,间距相等,即0 0,0.1π,0.2π,…,1.9π, 2π。

number_of_phases = 21
phases = np.linspace(0, 2 * np.pi, number_of_phases)
# Phases need to be expressed as list of lists in order to work
individual_phases = [[ph] for ph in phases]

        现在我们需要计算期望值的可观察对象。在我们的例子中,我们正在查看每个量子位的正交基,让第一个量子位的参数化- Y -旋转相对于第二个量子位基几乎连续地扫描测量基。因此,我们将选择可观测值ZZ、ZX、XZ和XX。

# <CHSH1> = <AB> - <Ab> + <aB> + <ab> -> <ZZ> - <ZX> + <XZ> + <XX>
observable1 = SparsePauliOp.from_list([("ZZ", 1), ("ZX", -1), ("XZ", 1), ("XX", 1)])# <CHSH2> = <AB> + <Ab> - <aB> + <ab> -> <ZZ> + <ZX> - <XZ> + <XX>
observable2 = SparsePauliOp.from_list([("ZZ", 1), ("ZX", 1), ("XZ", -1), ("XX", 1)])from qiskit.transpiler.preset_passmanagers import generate_preset_pass_managertarget = backend.target
pm = generate_preset_pass_manager(target=target, optimization_level=3)chsh_isa_circuit = pm.run(chsh_circuit)
chsh_isa_circuit.draw(output="mpl", idle_wires=False, style="iqp")isa_observable1 = observable1.apply_layout(layout=chsh_isa_circuit.layout)
isa_observable2 = observable2.apply_layout(layout=chsh_isa_circuit.layout)

        为了在对Estimator的一次调用中执行整个实验。我们可以创建一个Qiskit Runtime Estimator原型机来计算我们的期望值。EstimatorV2.run()方法接受一个原始统一块(pub)的可迭代对象。每个PUB都是一个可迭代对象,格式为(circuit, observables, parameter_values: Optional, precision: Optional)

# To run on a local simulator:
# Use the StatevectorEstimator from qiskit.primitives instead.estimator = Estimator(mode=backend)pub = (chsh_isa_circuit,  # ISA circuit[[isa_observable1], [isa_observable2]],  # ISA Observablesindividual_phases,  # Parameter values
)job_result = estimator.run(pubs=[pub]).result()chsh1_est = job_result[0].data.evs[0]
chsh2_est = job_result[0].data.evs[1]
fig, ax = plt.subplots(figsize=(10, 6))# results from hardware
ax.plot(phases / np.pi, chsh1_est, "o-", label="CHSH1", zorder=3)
ax.plot(phases / np.pi, chsh2_est, "o-", label="CHSH2", zorder=3)# classical bound +-2
ax.axhline(y=2, color="0.9", linestyle="--")
ax.axhline(y=-2, color="0.9", linestyle="--")# quantum bound, +-2√2
ax.axhline(y=np.sqrt(2) * 2, color="0.9", linestyle="-.")
ax.axhline(y=-np.sqrt(2) * 2, color="0.9", linestyle="-.")
ax.fill_between(phases / np.pi, 2, 2 * np.sqrt(2), color="0.6", alpha=0.7)
ax.fill_between(phases / np.pi, -2, -2 * np.sqrt(2), color="0.6", alpha=0.7)# set x tick labels to the unit of pi
ax.xaxis.set_major_formatter(tck.FormatStrFormatter("%g $\\pi$"))
ax.xaxis.set_major_locator(tck.MultipleLocator(base=0.5))# set labels, and legend
plt.xlabel("Theta")
plt.ylabel("CHSH witness")
plt.legend()
plt.show()

参考:CHSH Inequality | IBM Quantum Learning

相关文章:

贝尔不等式的验证

在量子计算机上运行一个实验&#xff0c;以演示使用Estimator原型违反CHSH不等式。 import numpy as npfrom qiskit import QuantumCircuit from qiskit.circuit import Parameter from qiskit.quantum_info import SparsePauliOpfrom qiskit_ibm_runtime import QiskitRuntim…...

GR2——在大规模视频数据集上预训练且机器人数据上微调,随后预测动作轨迹和视频(含GR1详解)

前言 上个月的24年10.9日&#xff0c;我在朋友圈看到字节发了个机器人大模型GR2&#xff0c;立马去看了下其论文(当然了&#xff0c;本质是个技术报告) 那天之后&#xff0c;我就一直想解读这个GR2来着 然&#xff0c;意外来了&#xff0c;如此文《OmniH2O——通用灵巧且可全…...

伦敦金价格是交易所公布的吗?

今年以来&#xff0c;伦敦金价格波动可谓是波澜壮阔&#xff0c;盘中屡次刷新历史新高&#xff0c;目前已经冲上了2700的历史大关。面对高歌猛进的伦敦金价格&#xff0c;投资者除了进行交易之外&#xff0c;还有一点相关方面的知识是想了解的。例如&#xff0c;伦敦金价格是交…...

Oracle SQL Loader概念及用法

Oracle SQLLoader是Oracle数据库提供的一个高效的数据加载工具&#xff0c;它能够将外部数据&#xff08;如CSV、DAT、Text等文件格式&#xff09;快速加载到Oracle数据库中。以下是对Oracle SQLLoader的详细介绍&#xff1a; 一、主要功能 数据迁移&#xff1a;SQL*Loader常…...

ReactPress 是什么?

ReactPress Github项目地址&#xff1a;https://github.com/fecommunity/reactpress 欢迎Star。 ReactPress 是什么&#xff1f; ReactPress 是使用React开发的开源发布平台&#xff0c;用户可以在支持React和MySQL数据库的服务器上架设属于自己的博客、网站。也可以把 ReactP…...

MR30分布式IO模块与高效PLC协同

在现代工业自动化领域中&#xff0c;数据采集与控制系统扮演着至关重要的角色。其中&#xff0c;可编程逻辑控制器&#xff08;PLC&#xff09;和分布式IO模块&#xff08;Distributed I/O Modules&#xff09;是这一领域的两大核心组件。本文将详细介绍MR30分布式IO模块与PLC如…...

成都睿明智科技有限公司共赴抖音电商蓝海

在这个短视频风起云涌的时代&#xff0c;抖音作为现象级的社交媒体平台&#xff0c;不仅改变了人们的娱乐方式&#xff0c;更悄然间重塑了电商行业的格局。在这片充满机遇与挑战的蓝海中&#xff0c;成都睿明智科技有限公司凭借其敏锐的市场洞察力和专业的服务能力&#xff0c;…...

Android15音频进阶之音频策略加载及使用(九十一)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+…...

Spring设值注入

设值注入&#xff08;Setter Injection&#xff09;是Spring框架中依赖注入的一种方式&#xff0c;通过Setter方法将依赖对象注入到目标对象中。设值注入在对象创建后&#xff0c;通过调用Setter方法完成依赖注入。 设值注入的优点 灵活性&#xff1a;设值注入允许在对象创建…...

Spring整合Mybatis过程

配置文件 springConfig --> [jdbcConfig mybatisConfig] jdbc配置文件进行基本的数据库连接池配置 mybatis配置文件进行SqlSessionFactory Bean 和 MapperScannerConfigurer Bean的创建 在Spring容器启动时&#xff0c;系统会根据配置创建并初始化所有MyBatis所需的Bean…...

常见HR问题篇

系列文章目录 第一章 C/C语言篇第二章 计算机网络篇第三章 操作系统篇第四章 数据库MySQL篇第五章 数据库Redis篇第六章 场景题/算法题第七篇 常见HR问题篇 本系列专栏&#xff1a;点击进入 后端开发面经 关注走一波 秋招阶段&#xff0c;面过很多大中小厂&#xff0c;积攒了…...

调用数据集mnist(下载+调用全攻略)

1、下载mnist数据集请自取&#xff1a; 通过百度网盘分享的文件&#xff1a;mnist 链接&#xff1a;https://pan.baidu.com/s/1ia3vFA73hEtWK9qU-O-4iQ?pwdmnis 提取码&#xff1a;mnis 下载后把数据集放在没有中文的路径下。 # 本文将下载好的数据集放在C:\DeepLearning\…...

【基础语法】Java Scanner hasNext() 和 hasNextLine() 的区别

OJ在线编程常见输入输出练习中默认模板 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.…...

react使用Fullcalendar 实战用法

使用步骤请参考&#xff1a;react使用Fullcalendar 卡片式的日历&#xff1a; 需求图&#xff1a; 卡片式的日历&#xff0c;其实我是推荐 antd的&#xff0c;我两个都写了一下都能实现。 antd 的代码&#xff1a; antd的我直接用的官网示例&#xff1a;antd 日历示例 i…...

优秀项目经理必知的10款项目管理软件推荐

本文精心为项目经理推荐30款国内外免费的项目管理软件&#xff0c;涵盖桌面应用与Web平台&#xff0c;其中不乏优秀的开源软件。这些工具旨在助力项目经理高效规划、跟踪与控制项目&#xff0c;无论是通过甘特图进行可视化管理&#xff0c;还是利用任务分配、团队协作等功能&am…...

植物神经紊乱不用怕,这些维生素来帮你!

你是否经常感到身体疲惫、情绪波动大、心悸、胸闷&#xff1f;这可能是植物神经紊乱在作祟。别担心&#xff0c;通过合理的维生素补充&#xff0c;可以有效缓解症状&#xff0c;提升生活质量。今天&#xff0c;我们就来聊聊植物神经紊乱患者应该补充哪些维生素。 &#x1f50d…...

NRF52832学习笔记(41)——添加串口库libuarte

一、背景 由于板子上不支持硬件流控&#xff0c;在使用 app_uart_fifo 库接收串口大数据时&#xff0c;频繁报 APP_UART_COMMUNICATION_ERROR 错误&#xff0c;多次重新初始化后&#xff0c;串口也不再产生中断了。查看官方论坛后决定使用串口异步库 libuarte。 二、简介 Li…...

Moore Perf System 1.1版本

Moore Perf System&#xff08;一款性能分析工具&#xff09; 提供可视化界面&#xff0c;在时间轴上按时间顺序显示 CPU 和 GPU 的事件、吞吐和性能指标&#xff0c;帮助开发人员方便、快速、准确的定位到系统级别的性能瓶颈&#xff0c;进而进行针对性分析和优化&#xff0c;…...

SpringBoot+Shirp的权限管理

目录 怎么实现动态菜单 1.html页面 2.获取动态菜单 Shiro权限刷新 1. 配置Shiro 2. 创建权限刷新服务 3. 调用权限刷新服务 注意事项 如何更新ShiroFilter初始权限 怎么实现动态菜单 1.html页面 <ul class"nav side-menu"><!--第一重循环&#xf…...

OpenCV图像基础

目录 显示窗口 创建空白图像 保存图片 图像裁剪 调整图片大小 图像绘制 绘制圆形 绘制矩形 绘制直线 绘制文本 中文乱码 控制鼠标 视频处理 显示窗口 cv2.namedWindow(winname, flagsNone) 创建一个命名窗口&#xff0c;以便在该窗口中显示图像或进行其他图形操作…...

Pixel Couplet Gen入门必看:Streamlit Components封装像素春联React组件

Pixel Couplet Gen入门必看&#xff1a;Streamlit Components封装像素春联React组件 1. 项目介绍 Pixel Couplet Gen是一款基于ModelScope大模型驱动的创意春联生成器。与传统春联设计不同&#xff0c;它采用了独特的8-bit像素游戏风格&#xff0c;将中国传统春节元素与复古电…...

忍者像素绘卷:天界画坊Python入门实战,3步搭建AI绘画环境

忍者像素绘卷&#xff1a;天界画坊Python入门实战&#xff0c;3步搭建AI绘画环境 1. 前言&#xff1a;当Python遇见像素艺术 还记得小时候玩过的8-bit游戏吗&#xff1f;那些由一个个小方块组成的像素世界&#xff0c;如今正以全新的方式回归。天界画坊是一个开源的AI绘画工具…...

【QT】-- QT操作数据库

前言&#xff1a; Qt是C一个开发框架&#xff0c;具有跨平台特性。这篇是作者大二学习的时候做的笔记&#xff0c;有可能有错误&#xff0c;请各位批评指正。这篇记录QT操作数据库。欢迎大家收藏 关注&#xff0c;作者将会持续更新。 文章目录Qt 操作数据库QSqlDatabase数据库…...

错位排序算法

首先&#xff0c;让我们理解什么是错位排列&#xff1a;错位排列是指在排列中&#xff0c;任何一个元素都不在自己原来的位置上。比如&#xff0c;对于序列 {1,2,3}{1,2,3}&#xff0c;一个错位排列可能是 {3,1,2}{3,1,2}&#xff0c;因为 11 不在位置 11 上&#xff0c;22 不在…...

7步掌握MetaGPT:从单行需求到完整软件的多智能体革命

7步掌握MetaGPT&#xff1a;从单行需求到完整软件的多智能体革命 【免费下载链接】MetaGPT &#x1f31f; The Multi-Agent Framework: First AI Software Company, Towards Natural Language Programming 项目地址: https://gitcode.com/GitHub_Trending/me/MetaGPT 想…...

从《阵列天线分析与综合》到HFSS实战:手把手教你仿真4x1微带天线阵(含相位扫描设置)

从理论到实践&#xff1a;HFSS中4x1微带天线阵的建模与相位扫描全解析 微带天线阵列因其低剖面、易集成和成本优势&#xff0c;在现代通信系统中扮演着重要角色。对于刚接触天线设计的工程师和学生而言&#xff0c;如何将《阵列天线分析与综合》等经典教材中的理论概念转化为可…...

郑州大学生命科学学院生物与医药专业考研复试资料(2025届学姐整理)|电子版

温馨提示&#xff1a;文末有联系方式【权威整理】郑大生科院生物与医药方向考研复试精品资料包 本资料由郑州大学生命科学学院生物与医药专业2022年高分录取学姐牵头整合&#xff0c;汇集2022–2025连续四届成功上岸师兄师姐的实战复试经验与核心资料&#xff0c;内容系统、精准…...

运算放大器与比较器的本质区别及应用指南

1. 运算放大器与比较器的本质区别在电子电路设计中&#xff0c;运算放大器&#xff08;Op-Amp&#xff09;和电压比较器&#xff08;Comparator&#xff09;是两种极为常见却又经常被混淆的器件。它们在外观符号上几乎一模一样&#xff1a;都有五个引脚——正负电源端、同相与反…...

智能表格在敏捷项目管理中的工时统计实践

1. 为什么敏捷团队需要智能工时统计 在敏捷开发中&#xff0c;两周一次的迭代就像一场短跑比赛。我见过太多团队在冲刺过半时才发现工时严重超支&#xff0c;这时候再调整已经来不及了。传统Excel表格需要手动更新公式&#xff0c;光是合并不同成员的工作量报表就能消耗半天时间…...

如何将微信聊天记忆转化为数字珍藏:WeChatMsg的数据主权革命

如何将微信聊天记忆转化为数字珍藏&#xff1a;WeChatMsg的数据主权革命 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…...