使用Qiskit验证贝尔不等式:CHSH不等式的量子计算实验
创作时间:
作者:
@小白创作中心
使用Qiskit验证贝尔不等式:CHSH不等式的量子计算实验
引用
CSDN
1.
https://blog.csdn.net/m0_54373077/article/details/143492570
贝尔不等式是量子力学中的一个重要概念,用于描述量子纠缠和量子非局域性。CHSH不等式是贝尔不等式的一种具体形式,通过测量两个分离的量子系统来验证量子力学的预测是否与经典物理理论相矛盾。本实验将使用Qiskit在量子计算机上运行,演示如何违反CHSH不等式。
选择后端
首先,我们需要选择一个可用的量子计算后端。这里我们选择队列中作业数量最少的后端:
from qiskit_ibm_runtime import QiskitRuntimeService
service = QiskitRuntimeService(channel="ibm_quantum")
backend = service.least_busy(operational=True, simulator=False, min_num_qubits=127)
print(backend.name)
创建参数化的CHSH电路
接下来,我们创建一个参数化的CHSH电路。使用参数θ来编写电路:
from qiskit import QuantumCircuit
from qiskit.circuit import Parameter
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")
设置相位值
我们需要创建一个相位值列表,范围从0到2π,共21个等间距的值:
import numpy as np
number_of_phases = 21
phases = np.linspace(0, 2 * np.pi, number_of_phases)
individual_phases = [[ph] for ph in phases]
定义可观测对象
在我们的实验中,我们将使用以下可观测对象:
from qiskit.quantum_info import SparsePauliOp
observable1 = SparsePauliOp.from_list([("ZZ", 1), ("ZX", -1), ("XZ", 1), ("XX", 1)])
observable2 = SparsePauliOp.from_list([("ZZ", 1), ("ZX", 1), ("XZ", -1), ("XX", 1)])
运行实验
使用Qiskit Runtime Estimator原型机来计算期望值:
from qiskit_ibm_runtime import EstimatorV2 as Estimator
estimator = Estimator(mode=backend)
pub = (
chsh_isa_circuit, # ISA circuit
[[isa_observable1], [isa_observable2]], # ISA Observables
individual_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]
可视化结果
最后,我们将实验结果可视化:
import matplotlib.pyplot as plt
import matplotlib.ticker as tck
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(phases / np.pi, chsh1_est, "o-", label="CHSH1", zorder=3)
ax.plot(phases / np.pi, chsh2_est, "o-", label="CHSH2", zorder=3)
# 经典界限
ax.axhline(y=2, color="0.9", linestyle="--")
ax.axhline(y=-2, color="0.9", linestyle="--")
# 量子界限
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)
# 设置x轴标签为π的单位
ax.xaxis.set_major_formatter(tck.FormatStrFormatter("%g $\\pi$"))
ax.xaxis.set_major_locator(tck.MultipleLocator(base=0.5))
# 设置标签和图例
plt.xlabel("Theta")
plt.ylabel("CHSH witness")
plt.legend()
plt.show()
注:本文部分内容参考自IBM Quantum Learning相关资料。
热门推荐
数据的分布和映射
女命八字无正官藏干两个七杀的影响
轻度肠化需要治疗吗
低钾血症危机:如何识别并应对身体的隐形杀手?
凡士林白凡士林区别,白凡士林的功效与作用
典型案例 | 优化源网荷储一体化策略, 不断提升客户价值
水晶一定要戴左手吗?一文指南,左右手配置大揭密!
只需几个步骤即可删除您的 Google Play 历史记录
独居老人去世,遗产该由谁继承?
比肩《斯巴达克斯》?这5部美剧口味确实很冲,全看完的都是狠人
链球菌病的症状及治疗原则有哪些
温泉酒店设计:打造养生度假新体验
肝功能异常预防建议
二手房转按揭贷款全流程详解:从申请到放款
二战德国空军的编制及指挥体系
美国环保专家质疑沙漠种树,中国回应:实践证明利大于弊
哪种格式的图片清晰度最高?看完这篇文章你就知道了
突发心肌梗塞记住10点,正确应急处理,尽快就医是关键!
复读的利弊解析:如何权衡利弊,做出明智选择?
太“勤劳”,你的手指可能会患上这种病!一招自测......
显卡会和主板不兼容吗
面粉过期了能吃吗
如何识别和应对孩子注意力不集中的问题?
胃异物感怎么回事
如何在网上赚钱
财政赤字:从历史演变到国际经验
探秘四川梁山:热门旅游景点一览与深度游攻略
全国14个中欧班列集结中心之一!金华何以跨山越海,联通世界
大便干燥排便困难食疗法
单簧管的演奏方式详解