关于幂法与反幂法的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东北大学秦皇岛分校
数值计算课程设计报告
幂法及反幂法
学院数学与统计学院
专业信息与计算科学
学号******
姓名***
指导教师*** ***
成绩
教师评语:
指导教师签字:
2014年07月07日
1 绪论
1.1 课题的背景
矩阵特征值的数值算法,在科学和工程技术中很多问题在数学上都归结为矩阵的特征值问题。例如,结构的振动波形和频率可分别由适当矩阵的特征向量和特征值来决定,结构的稳定性由特征值决定;又如机械和机件的振动问题,无线电工及光学系统第电磁振荡问题和物理学中各种临界值都牵涉到特征值计算。所以说研究利用数学软件解决求特征值的问题是非常必要的。
求矩阵特征值的一种方法是从原始矩阵出发,求出其特征多项式及其根,即得到矩阵的特征值。但高次多项式求根问题尚有困难,而且重根的计算精度较低。另外,原始矩阵求特征多项式系数的过程,对舍入误差非常敏感,对最终结果影响很大。所以,从数值计算的观点来看,这种求矩阵特征值的方法不够好。
实际问题中,有时需要的并不是所有的特征根,而是最大最小的实特征根。称模最大的特征根为主特征值。解决特征值计算的算法有很多种,古老的雅可比方法、兰乔斯方法以及较为常用的幂法、QR方法。QR方法是一种变换法,可求全部的特征值;幂法和反幂法是迭代法,只求模最大与模最小的特征值及特征向量。下面主要来研究一下幂法、反幂法,利用MATLAB解决矩阵特征值问题。
幂法是一种计算矩阵主特征值(矩阵按模最大的特征值)及对应特征向量的迭代方法,特别适用于大型稀疏矩阵。反幂法是计算海森伯格阵或三对角阵的对应一个给定近似特征值的特征向量的有效方法之一。
1.2 概念的认识
对于n阶矩阵A,若存在数λ和n维向量x满足:x
=,则称λ为矩阵A的特征值,
Axλ
x为相应的特征向量。
病态矩阵:求解方程组时对数据的小扰动很敏感的矩阵。例如希尔伯特矩阵就是一类著名的病态矩阵。本次课题不对病态矩阵做深入研究。
非亏损矩阵:矩阵存在n个线性无关的特征向量,即有一个完全的特征向量组。
2 MATLAB特征值计算工具简介
查阅MATLAB HELP可以知道,利用eig函数可以快速求解矩阵的特征值和特征向量。可利用该函数对以下所做的幂法及反幂法程序进行检验。
调用格式为:
[],()V D eig A =
[]()"",,nobalance A eig D V =
()A eig
说明:(1)输入参量A 必须是方阵;
(2)输出参量V 是一个矩阵,它的各列是方阵A 的特征向量;
(3)输出方阵D 是一个对角阵,其元素是方阵A 的特征值,V 与D 同列向量相对应; (4)当不写输出格式[]D V ,时,只输出由A 得特征值为元素的列阵;
(5)如果A 中含有小到跟截断误差相当的元素时,加写输入参数“nobalance ”,它可以提高小元素的作用,通常可以省略该参数,以免使结果误差变大。
例题检验:求方阵⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡=410131012A 的特征值和特征向量。 MATLAB 实现过程如下: >> A=[2 1 0;1 3 1;0 1 4]; >> [V ,D]=eig(A) V =
0.7887 -0.5774 0.2113 -0.5774 -0.5774 0.5774 0.2113 0.5774 0.7887 D =
1.2679 0 0 0 3.0000 0 0 0 4.7321
3 幂 法
3.1 幂法算法的理论基础及推导
设实矩阵n n ij a A ⨯=)(有一个完备的特征向量组(矩阵A 有n 个线性无关的特征向量),其特征值为n λλλ ,,21,相应的特征向量为n x x x ,,21。已知A 的主特征值是实根,且满足条件n λλλλ≥≥≥> 321。
现在讨论求1λ及1x 的方法:
幂法的基本思想是任取一个非零的初始向量0v ,由矩阵A 构造一向量序列
⎪⎪
⎩⎪⎪⎨
⎧
=====++0
110
21201v A Av v v A Av v Av v k k k 称为迭代向量。 由假设,0v 可表示为n n x x x v ααα+++= 22110 (设01≠α) (3.1)
于是 n k
n n k k k k k x x x v A Av v λαλαλα+++===- 22211101
)(11121111k k
i n i k
i i k x x x εαλλλααλ+≡⎥⎥⎦
⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛+=∑= (3.2)
其中i n
i k
i i k x ∑=⎪⎪⎭
⎫
⎝⎛=21λλαε。由假设),,2,1(1/1n i i =<λλ,故
lim 0k k ε→∞
=,从而
111lim
k
k
k v x αλ→∞
=。这说明序列
1k
k
v λ越来越接近A 的对应于1λ的特征向量,或者说当k 充分大时
111k k v x αλ≈,即迭代向量k v 为1λ的特征值的近似向量。
下面再考虑主特征值1λ的计算,用()k i v 表示k v 的第i 个分量,则
()()()()()()1111111k k i i i k i k i i v x v x αελαε++⎧⎫+⎪⎪
=⎨⎬+⎪⎪⎩⎭,故()()11lim k i k k i v v λ+→∞=。也就是说两相邻的迭代向量分量的比值
收敛到主特征值。
通过以上推论可以得出结论,设n n R A ⨯∈有n 个线性无关的特征向量(即非亏损的),主特征值1λ满足n λλλλ≥≥≥> 321,则对任何非零初始向量v ()01≠α,构造的向量序列{}0v A v k k =收敛到主特征向量1x ;
()()i
k i
k v v 1+收敛到主特征值1λ。(定理一)
幂法只能对非亏损矩阵求实的主特征值,且常用于实对称矩阵。 3.2 幂法算法的迭代向量规范化
应用幂法计算A 的主特征值1λ及对应的特征向量时,如果11>λ(或11<λ),迭代向量k v 的各个不等于零的分量将随∞→k 而趋向于无穷(或趋向于零),这样在计算机实现时就可能“溢出”。为了克服这个缺点,就需要将迭代向量加以规范化。
设有一向量0≠v ,将其规范化得到向量{}
v v
u max =
,其中{}v max 表示向量v 的绝对值