使用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相关资料。
热门推荐
产妇坐月子期间的饮食指南:催乳食物、补钙食物及饮食禁忌
设计打印机颜色设置(优化打印机颜色设置的技巧与方法)
英特尔酷睿i7处理器功耗剖析:成因、影响与节能降耗策略
《哪吒2》配音演员起诉配音公司:无五险一金,转正4个月后被开除
Word文档误删内容后保存,如何恢复
药理学在个体化用药中的应用
详解:如何全面挑选高性价比二手车的实用经验与技巧
五笔输入法学习指南:从字根到打字技巧
明朝洪武年间,统治者为什么让百姓大迁移?
鼻塞原因、症状与治疗方法全解析
白癜风的病因、治疗方法及生活建议
“能给卑职一个明示吗?”并非万能的布洛芬表示很困惑~
商标异议申请处理:法律规定与实务操作指南
民事权利能力和民事行为能力的区别与法律实践
STM32引脚定义、最小系统及工作模式详解
呼吸机面罩清洁与保养指南:轻松Get干净面罩的3步骤!
怎么把视频弄成压缩包形式发送信息,如何将视频文件打包成压缩包进行分享
中科润美:以"润滑之力"打造国产高端装备"隐形铠甲"
“守株待兔”:一种行为背后的智慧与误区
为什么一平躺心跳加快
孳息的概念及其类型
生命的意义是什么?柏格森为什么认为生命的本质是创造和变化?
河北医科大学第二医院:DIP支付方式改革下的医院信息化建设实践
法律援助申请条件
中正式步枪及其“表兄弟”:如何辨别VZ24、FN24/30和毛瑟98K
劳动报酬涉及哪几个方面的内容
揭秘!初中竟要考这12门科目,你准备好了吗?
“三垣四象廿八宿”中隐含的象数思维
亨廷顿病患者的心理护理及心理支持
违法扣分的处理方法和申诉流程是什么?这些处理方式如何维护车主的权益?