量子计算笔记|可能会涉及一点点高量的量子力学基础(一)

简介:

因为主题并非量子力学,所以这里只是简要介绍,更详细的内容可以买本书来看。然后还可以参考

好久以前的Live(这篇文章大约是知乎Live刚出现的时候写的)

量子力学的基本假设

类似于其它的物理理论(比如分析力学的最小作用量原理),量子力学也有一些基本的假设:

原理一:描写微观系统状态的数学量是Hilbert (希尔伯特)空间中的矢量。相差一个复数因子的两个矢量,描述同一状态。我们用归一化的右矢量或左矢量表示系统的状态,这个希尔伯特空间称为态空间

原理二

  1. 描写微观系统的物理量是Hilbert空间中的Hermitian(厄米)算符,也就是说一个Hermitian算符就代表了一个微观系统的物理量
  2. 物理量所能取的值,是相应算符的本征值
  3. 物理量A在状态|\psi\rangle中取各值\alpha_i的概率,与态矢量|\psi\rangle按照A的归一化本征矢量的展开式中的系数(一般我们称为概率幅)的复平方成正比。

原理三

  • 微观系统中每个粒子的广义坐标(不理解换成直角坐标也行)下的位置算符X_i(i=1,2,3),与相应的正则动量算符P_i有下列对易关系:[X_i,X_j]=0,\quad [P_i,P_j]=0,\quad [X_i,P_j]=i\hbar\delta_{ij} 其中\delta_{ij}当且仅当i=j的时候为1,其余时候都是都是0


  • 粒子的自旋角动量算符\mathbf{S}各分量之间的对易关系为:[S_i,S_j] = i\hbar\sum_{k}\epsilon_{ijk} S_k,并且各分量与粒子的位置和动量算符都对易

原理四:微观系统的状态|\psi(t)\rangle随时间变化的规律是薛定谔方程,这里\hbar是一个常数(实数),H称为这个系统的Hamiltonian(哈密顿量)

i\hbar\frac{\partial}{\partial t}|\psi(t)\rangle = H|\psi(t)\rangle

原理五:描写全同粒子系统的态矢量,对于任意一对粒子的对调是对称的(对调前后完全相同)或者反对称的(对调前后差一个负号),前者称为玻色子,后者称为费米子。这里全同粒子系统是指由同一种粒子组成的系统,这些粒子每个都是一样的。

量子计算机的运行就是基于以上五个基本原理。关于基本原理是否正确,以及以上的称述方式是否严格我们不在这里讨论,在具体实现的时候我们更关心这些原理是否能够帮助我们预测微观系统的行为。毕竟对于量子力学的诠释,除了最经典的哥本哈根诠释,还有诸如流体力学诠释,Bohm理论(在非局域的情况下依然能用),随机诠释等等。我们还没有找到在实验中能直接否定它们的方法,所以目前来说信哪个是一种信仰...

从经典的哈密顿量到量子力学的哈密顿量

从经典的哈密顿量到量子力学的哈密顿量是有一些固定的方法的,我们在这里也不关心这背后的原理具体是什么,如果对这里感兴趣,可以参看本章的参考文献。这个具体的方法就是用算符替换经典系统里的动量,角动量等符号,比如在经典力学中的动量将被替换为动量算符p \rightarrow \hat{p} = -i\hbar\nabla\quad x \rightarrow \hat{x} = x

在量子计算中,我们暂时不关心量子力学到底是怎么回事儿(当然有一些人实际上也在利用量子计算机研究量子力学基础,这里就不展开了),我们更加关心的是,一个人造的微观(量子)结构如何按照预想的方式进行演化。除了我们熟悉的(可能现在还不那么熟悉的)解析的数学方法,数值计算往往是一个(相对)简单暴力直接的工具,很多时候很有用。所以首先先介绍一下怎么数值解一个含时的薛定谔方程。下面的代码将用Julia语言编写。

我们要求解的问题是这样的,有这样一个哈密顿量

H = \hbar \cdot ((1-t/T)\frac{1}{2}(1-\sigma_x) + \frac{1}{2}(1+\sigma_z)\cdot t/T) =\hbar (\frac{1}{2}(1-t/T) \begin{pmatrix}1 & -1\\-1 & 1\end{pmatrix}+t/T\cdot \begin{pmatrix}1 & 0\\0 & 0\end{pmatrix})

其中T是总的演化时间,是10^2 s,我们将\sigma_z的本征矢量记为|0\rangle, |1\rangle。这个系统的演化就满足薛定谔方程
i\hbar \frac{\partial}{\partial t}|\psi(t)\rangle = H|\psi(t)\rangle

而由于|0\rangle, |1\rangle是这个Hilbert空间的本征矢量,|\psi(t)\rangle总可以表示为它们的线性组合


注意这个Hamiltonian是不显含时间变量的,那么我们就可以分离变量,使得在很小的\Delta t时间里,下面的式子成立

|\psi(t+\Delta t)\rangle = e^{-iH\Delta t /\hbar}|\psi(t)\rangle

这是因为在很小的\Delta t时间里,我们可以把H(t)随时间的变化忽略(当然这么说是不严格的),把H看做常数就有

i\hbar\frac{\partial}{\partial \Delta t}|\psi(t+\Delta t)\rangle = H|\psi(t+\Delta t)\rangle

可以解得

|\psi(t+\Delta t)\rangle = e^{-iH(t)\Delta t /\hbar}|\psi(t)\rangle

所以对于这样一个问题,我们就可以用很小的\Delta t来进行数值计算。代码如下

mutable struct QuSystem
    H::Function
    current_state::Vector
    current_time::Float64
    dt::Float64

    function QuSystem(
    end
end

function evolute!(sys::QuSystem)
    sys.current_state = expm(
    sys.current_time += sys.dt
end

# 初态
initial_state = [1/sqrt(2), 1/sqrt(2)]
# 总的演化时间
T = 1e2
# 定义哈密顿量
Hamiltonian(t) = 0.5*[1 -1;-1 1]*(1-t/T)+[1 0;0 0]*t/T
# 构造这个量子系统,为了节约时间把dt设成1吧,这个步长没有明显的误差
qs = QuSystem(Hamiltonian, initial_state, dt=1.0)

# 打印一下初态,看看初态是什么
@show qs.current_state

#开始演化
for i = 1:1e2
    evolute!(qs)
end

# 打印演化结束的态
@show qs.current_state


这是用Julia语言写的,因为中文文档比较落后,如果你不想看英文文档可以先看我写的这个比较简单的教程。

实际上,这只是数值求解微分方程的方法中最简单的一种,在JuliaQuantum开源组织的QuDynamics.jl中已经封装好了很多来自于ODE.jl和Expmv.jl的其它数值方法。这里就暂且不详细介绍了,等到后面介绍量子计算的模拟的时候具体说明。


原文发布时间为:2018-03-12
本文作者:罗秀哲
本文来源:创见,如需转载请联系原作者。

目录
相关文章
|
10月前
|
缓存 供应链 监控
1688item_search_factory - 按关键字搜索工厂数据接口深度分析及 Python 实现
item_search_factory接口专为B2B电商供应链优化设计,支持通过关键词精准检索工厂信息,涵盖资质、产能、地理位置等核心数据,助力企业高效开发货源、分析产业集群与评估供应商。
|
11月前
|
JSON API 数据格式
深度分析大麦网API接口,用Python脚本实现
大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
|
9月前
|
算法 NoSQL 关系型数据库
《聊聊分布式》分布式系统核心概念
分布式系统由多节点协同工作,突破单机瓶颈,提升可用性与扩展性。CAP定理指出一致性、可用性、分区容错性三者不可兼得,BASE理论通过基本可用、软状态、最终一致性实现工程平衡,共识算法如Raft保障数据一致与系统可靠。
|
10月前
|
存储 人工智能 关系型数据库
阿里云AnalyticDB for PostgreSQL 入选VLDB 2025:统一架构破局HTAP,Beam+Laser引擎赋能Data+AI融合新范式
在数据驱动与人工智能深度融合的时代,企业对数据仓库的需求早已超越“查得快”这一基础能力。面对传统数仓挑战,阿里云瑶池数据库AnalyticDB for PostgreSQL(简称ADB-PG)创新性地构建了统一架构下的Shared-Nothing与Shared-Storage双模融合体系,并自主研发Beam混合存储引擎与Laser向量化执行引擎,全面解决HTAP场景下性能、弹性、成本与实时性的矛盾。 近日,相关研究成果发表于在英国伦敦召开的数据库领域顶级会议 VLDB 2025,标志着中国自研云数仓技术再次登上国际舞台。
1142 1
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
1037 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
机器学习/深度学习 人工智能 数据安全/隐私保护
《探秘AI与鸿蒙Next:动画过渡效果的优化密码》
在移动应用和图形界面设计中,动画过渡效果对用户体验至关重要。人工智能与鸿蒙Next图形渲染的结合,为优化动画过渡带来了新机遇。AI通过智能补帧、运动趋势预测和自适应调整等技术,确保动画流畅自然;鸿蒙Next则借助硬件加速、高效布局管理和动画引擎优化,提升渲染效率。二者协同工作,基于数据驱动和智能场景理解,共同实现更流畅、逼真的动画体验,推动图形界面设计迈向更高水平。
583 5
|
SQL 关系型数据库 分布式数据库
基于PolarDB的图分析:银行金融领域图分析实践
本文介绍了如何使用阿里云PolarDB PostgreSQL版及其图数据库引擎(兼容Apache AGE,A Graph Extension)进行图数据分析,特别针对金融交易欺诈检测场景。PolarDB PostgreSQL版支持图数据的高效处理和查询,包括Cypher查询语言的使用。文章详细描述了从数据准备、图结构创建到具体查询示例的过程,展示了如何通过图查询发现欺诈交易的关联关系,计算交易间的Jaccard相似度,从而进行欺诈预警。
基于PolarDB的图分析:银行金融领域图分析实践
|
存储 数据采集 JSON
英雄联盟手游能“干掉”王者荣耀?微博4.3亿网友吵翻了……
英雄联盟手游能“干掉”王者荣耀?微博4.3亿网友吵翻了……
631 3
英雄联盟手游能“干掉”王者荣耀?微博4.3亿网友吵翻了……
|
存储 JavaScript 前端开发
基于Vue3的数据可视化低代码平台
基于Vue3的数据可视化低代码平台
580 0
|
编解码 5G 定位技术
多天线及波束赋形技术发展概述 | 带你读《大规模天线波束赋形 技术原理与设计 》之一
本章从多天线技术的基本原理着手,分析了理想情况下的信道容量;在此基础上,结合不同的应用场景、信道条件和业务需求,介绍了闭环空间复用、开环空间复用、波束赋形与发射 分集等多种常用的多天线技术方案,并对比了各种技术方案的适用条 件及特点;随后,探讨了多天线技术理论的发展动态及天线阵列结构 的演进趋势,并介绍了基于大规模天线阵列的波束赋形技术的研究方 向及应用场景;最后,介绍了多天线技术的标准化情况。
多天线及波束赋形技术发展概述 | 带你读《大规模天线波束赋形 技术原理与设计 》之一