线性方程组求解、特征值问题是数值线性代数的主要研究内容。力学、电磁等许多问题,最终都可以归结为特征值、特征向量的求解。
ARPACK使用IRAM(Implicit Restarted Arnoldi Method)求解大规模系数矩阵的部分特征值与特征向量。了解或者熟悉IRAM算法,必定有助于更好地使用ARPACK中相关特征值求解函数。
本文拟就ARPACK中特征值求解的IRAM算法进行分析,希望对从事相关研究的朋友们有所帮助。
零、约定
对于n阶级复矩阵,若存在n阶向量与标量,满足,则称是矩阵的特征值,是对应的特征向量。
更一般地,若对于n阶级复矩阵、,若存在n阶向量与标量,满足,则称是矩阵的广义特征值,是对应的广义特征向量。
定义Hessenberg矩阵,
为了叙述方便,本文以一般特征值问题进行叙述,而不讨论广义特征值。
一、Arnoldi分解
在Arnoldi于1951年发表的文章中,通过Galerkin余量法,提出了一种将矩阵约化为Hessenberg矩阵的方法,即
上式也可以写作
其中,,,,,
且满足,,。
参考书籍
Gene H. Golub. Matrix Computations.
徐树方. 数值线性代数. 北京大学出版社, 2013.
参考文献
Arnoldi W E .The principle of minimized iterations in the solution of the matrix eigenvalue problem[J].Quarterly of Applied Mathematics, 1951, 9(1).DOI:10.1093/qjmam/4.4.466.
D,C,Sorensen.Implicit Application of Polynomial Filters in a k-Step Arnoldi Method[J].Siam Journal on Matrix Analysis & Applications, 1992.DOI:10.1137/0613025.
Burrus C S , Cox S J , Radke R J .A Matlab Implementation of the Implicitly Restarted Arnoldi Method for Solving Large-Scale Eigenvalue Problems[J]. 2000.
网络资料
ARPACKhttps://github.com/opencollab/arpack-ng