(2)线性代数基础

1.本征值分解与最大本征值问题

1.1 本征向量与本征值(又称特征向量与特征值)

给定 D × D D\times D D×D的矩阵 M M M方阵),设 D D D维归一向量 v v v(一阶张量或向量)与标量 γ \gamma γ(0阶张量),当满足 M v = γ v Mv = \gamma v Mv=γv时,称 v v v γ \gamma γ(本征向量对应的本征值)分别为 M M M的本征向量与本征值

1.2 本征值分解(又称特征值分解,eigenvalue decomposition)

M = U Γ U † M = U\Gamma U^\dag M=UΓU( † \dag :转置共轭)
U U U被称为变换矩阵,其每一列为 M M M的本征向量,且满足正交归一性即: U U † = I UU^\dag = I UU=I
Γ \Gamma Γ为对角矩阵,称为本征谱
注: U U U中的每一列向量为其本征向量(满足1.1),且对应的本征值为 Γ \Gamma Γ中对应的元素。
注:厄密矩阵: M = M † M = M^\dag M=M
注:不是任何矩阵都存在本征值分解,但是厄密矩阵一定存在本征值分解,且本征谱为实数
注:接下来的矩阵没有说明的情况下,都假设是厄密矩阵(哈密顿量,量子物理里面都是厄密矩阵)

1.3 最大本征值问题

最大本征值问题:假设矩阵本征值为实数(厄密矩阵),求解给定矩阵的最大本征值及其本征态(本征向量)
——最大本征值问题对应于如下优化问题:
给定矩阵 M M M,求解归一化向量 v v v,使得函数:
f = ∣ v T M v ∣ f = |v^{T}Mv| f=vTMv
的值极大化( v v v为( d × 1 d\times1 d×1)向量, M M M为( d × d d\times d d×d)矩阵)
——该最优化问题的解为 M M M的(绝对值)最大本征态(最大本征向量),对应的 f f f值为最大本征值

1.3.1 代码实例

本征值分解:

dim = 4
M = np.random.randn(dim,dim)##任意生成一个4*4的实矩阵
M = M +M.T#对称化以保证本征分解存在   .T等价于.transpose(1,0)
lm,u = np.linalg.eig(M) #对M进行本征值分解 lm为本征值 u为本征向量

M = U Γ U † M = U\Gamma U^\dag M=UΓU

M1 = u.dot(np.diag(lm)).dot(u.T) #其中np.diag(lm) 当lm是一个1维数组时,结果形成一个以一维数组为对角线元素的矩阵;lm是一个二维矩阵时,结果输出矩阵的对角线元素
err = np.linalg.norm(M-M1)#计算M与M1之间的误差

注:小于 1 0 − 15 10^{-15} 1015可以忽略不计

使用 s c i p y scipy scipy中的 e i g s eigs eigs仅求最大几个本征值与本征向量,节省计算量:

import scipy.sparse.linalg as la 

lm1,v1 =la.eigs(M,k = 1,which = 'LM') #M为待分解的矩阵,k为求几个本征值(向量),whick为求哪一个 LM(绝对值最大的)

1.4 最大本征值问题的幂级数求解法

考虑实对称矩阵 M M M,设 Γ 0 \Gamma_0 Γ0 u ( 0 ) u^{(0)} u(0)为其绝对值最大的唯一本征值及本征向量,则:
lim ⁡ k → ∞ M K = Γ 0 K u ( 0 ) u ( 0 ) T \lim_{k\rightarrow\infty}M^K = \Gamma_0^K u^{(0)}u^{(0)T} klim

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值