捌拾- 量子态层析 以及 布洛赫球 (1)

1. 奥卡姆剃刀

在上一篇学习文章中 柒拾玖- 贝尔不等式 ,我感觉,为啥这么量子计算的门槛那么高呢?

结果我打开了上级目录,发现,原来他是按首字母排序...

经过一系列查看,我挑了一个最简单的

量子态层析

这里能更简单的说明量子比特到底测量出来的本质是什么,而且它物理性在量子计算上的体现。

但!!这里有一个大坑!!!

我在网上下的最新的 pyquafu 是 0.4.6,但这个教程是用 0.3.5 演示的!!!有些演示用的函数都没了!!!

2. 布洛赫球

首先,我先撇开物理性质去理解,单独理解数学层面的解释

先从单个粒子来看,它从3个维度构成,分别是 X、Y、Z

他们三个以及一个单位 I 可以够成一个粒子的密度函数,详细数学描述如下图

我个人觉得可以先忘记上面的东西,反正得知,X、Y、Z 可以作为一个三维的矢量,可以得到一个球

而关于这个球的详细描述,可以参看 布洛赫球 (Bloch Sphere)

3. 测量到底是基于什么?

这个就很扯淡,首先我们得说一下到底 pyquafu 到底是测的什么

或者说所有量子计算 都是基于这个逻辑去进行测量的?

首先,我们看到所有的教程均有一个函数叫 calculate_obs ,它允许直接对已经完成量子计算并进行测量的量子比特得到一个数学期望值。

但,我基于 0.4.6 的 quafu 居然就没了这个函数!?!?

却直接给出了一个密度函数,于是我上网搜,到底怎么计算?

得到一个结果

um...

好,我知道了,不过问题是,我到底是用什么算符!?我是一个小白!!!!

于是我不断做实验,不断看文档,我看到教程里面有一段代码:

python 复制代码
def create_circuit(theta, phi, base="Z"):
    # 创建量子态:|ψ> = cos(θ/2)|0> + exp(i*φ)*sin(θ/2)|1>
    qc = QuantumCircuit(1)
    qc.ry(0,theta)
    qc.rz(0,phi)
    # 旋转测量基
    if base == "X":
        qc.ry(0, -pi/2)  # 用X的本征态为测量基
    elif base == "Y":
        qc.rx(0, pi/2)   # 用Y的本征态为测量基
    elif base == "Z":
        pass
    qc.measure([0])
    return qc

凭啥我测 X 轴、Y 轴 的时候需要旋转,Z轴就不需要旋转!?

有没有可能,我们测的,只是 Z 轴?

于是,我首先参考教程,写了一段测量算符的代码来代替 calculate_obs 函数

python 复制代码
# 引入包
from quafu import QuantumCircuit,Task,simulate
import numpy as np
import matplotlib.pyplot as plt
from numpy import pi

# 定义 Pauli Z 矩阵
sigma_Z = np.array([[1, 0], [0, -1]])


def create_circuit(theta, phi, base="Z"):
    # 创建量子态:|ψ> = cos(θ/2)|0> + exp(i*φ)*sin(θ/2)|1>
    qc = QuantumCircuit(1)
    qc.ry(0,theta)
    qc.rz(0,phi)
    # 旋转测量基
    if base == "X":
        qc.ry(0, -pi/2)  # 用X的本征态为测量基
    elif base == "Y":
        qc.rx(0, pi/2)   # 用Y的本征态为测量基
    elif base == "Z":
        pass
    qc.measure([0])
    return qc

for strD in ['X','Y','Z']:
    # 得出单量子
    q=create_circuit(theta=2*pi/3, phi=pi/4,base=strD)
    # 模拟运行
    sim_res = simulate(q)
    # 计算密度函数
    sim_rho = sim_res.calc_density_matrix()
    # 计算期望值
    # 先点成 密度函数 · 泡利 Z 矩阵
    # 再求迹
    expectation_value = np.trace(np.dot(sim_rho, sigma_Z)).real
    print( strD + " 期望值为:" + str(expectation_value))

# 且计算当 Z 轴测量时 ( 即不旋转测量子比特 )
# 得出单量子
q=create_circuit(theta=2*pi/3, phi=pi/4)
# 模拟运行
sim_res = simulate(q)
# 计算密度函数
sim_rho = sim_res.calc_density_matrix()
print(sim_rho)

得出一样的结果

我悟了!!!

4. 那多比特呢!?

那就非常复杂了,得看张量积...

那又是啥...

我得回家吃饭了

下次再说

相关推荐
Figo_Cheung14 小时前
Figo权重动力学:递归本体论与跨尺度演化的形式化基础——揭示:宇宙的演化,本质上就是一场由无数观测者共同参与的、永不停歇的、跨尺度的权重重构盛宴。
网络·人工智能·量子计算
水云桐程序员1 天前
量子力学概论,量子力学概念总结
笔记·科技·学习·量子计算
搬砖的小码农_Sky3 天前
伊辛模型与伊辛机:从统计物理到新型计算范式
量子计算
量子客3 天前
1000倍提速!量子计算正在跨过一道关键门槛
量子计算
moonsims5 天前
AiBrainBox-UGV 的目标跟踪从“传统视觉跟踪”升级为“语义目标跟踪”
前端·人工智能·量子计算
搬砖魁首6 天前
密码学系列 - 后量子密码 - (2)椭圆曲线密码ECC
密码学·量子计算·同源·ecc·后量子密码·sidh
deepdata_cn7 天前
Qubitium构建下一代智能健康生态底座
量子计算·qubitium
量子客8 天前
超导之外,量子计算正在寻找下一条路
量子计算
数据知道9 天前
量子计算威胁——后量子密码(PQC)迁移实战
安全·网络安全·密码学·量子计算
旋生万物9 天前
量子纠错容错率87%?螺旋拓扑码用“相位保护“给量子比特上保险(附Python)
python·ai编程·量子计算·量子纠错·螺旋计算