290 likes | 406 Views
第八章 矩阵特征值和特征向量的计算. 主要知识点. 1 、 幂法 2 、 反幂法 3 、 平行迭代法 4 、 QR 算法 5 、 Jacobi 方法. 特征值与特征向量. 设 A 是 n 阶矩阵, x 是非零列向量 . 如果有数 λ 存在,满足 , (1) 那么,称 x 是矩阵 A 关于特征值 λ 的 特征向量. 如果把 (1) 式右端写为 ,那么 (1) 式又可写为 :. (2). 记. 它是关于参数 λ 的 n 次多项式,称为矩阵 A 的特征多项式, 其中 a 0 =(-1) n | A |.
E N D
主要知识点 1、幂法 2、反幂法 3、平行迭代法 4、QR算法 5、Jacobi方法
特征值与特征向量 设A是n阶矩阵,x是非零列向量. 如果有数λ存在,满足 , (1) 那么,称x是矩阵A关于特征值λ的特征向量.
如果把(1)式右端写为 ,那么(1)式又可写为: (2) 记 它是关于参数λ的n次多项式,称为矩阵A的特征多项式, 其中a0=(-1)n|A|.
显然,当λ是A的一个特征值时,它必然是 的根. 反之,如果λ是 的根,那么齐次方程组(2)有非零解向量x,使(1)式成立. 从而,λ是A的一个特征值. A的特征值也称为A的特征根.
Jacobi方法 理论上,实对称矩阵A正交相似于以A的特征值为对角元 的 对角阵. 问题是如何构造这样的正交矩阵呢? Jacobi方法就是通过构造特殊的正交矩阵 序列,通过相似变换使A的非对角线元素逐次零化来实现对角化的. 平面旋转矩阵与相似约化 先看一个简单的例子.
设 是二阶实对称矩阵,即a21=a12,其特征值为λ1,λ2. 令 使得 记 容易验证BT=B, 且
解之得: 当 时 当 时 并规定
经典的Jacobi方法 设A是实对称矩阵,记A1=A.Jacobi方法的基本思想是用迭代格式 Ak+1=QTkAkQk , k=1,2,… 构造一个相似矩阵序列,使{Ak}收敛于一个对角阵. 其中 Qk为平面旋转矩阵,其旋转角θk由使Ak的绝对值 最大元a(k)pq=a(k)qp=0 或按列依次使A的非对角元 零化来确定.
定理设A是n阶实对称矩阵,那么由Jacobi方法产生的相似矩阵序列{Ak}的非对角元收敛于0. 也就是说,{Ak}收敛于以A的特征值为对角元的对角阵. 记 其中Ek是Ak除主对角元外的矩阵.由平面旋转矩阵的性质 中,对于 ,有 因此,
又由假设, 因此, 这样,便有 从而,当
实用的Jacobi方法 • 循环Jacobi方法必须一次又一次扫描,才能使{Ak}收敛于对角阵 ,计算量很大. 在实际计算中,往往用一些特殊方法来控制扫描次数,减少计算量. 下面介 绍一种应用最为广泛的特殊循环Jacobi方法——阈Jacobi方法. 阈Jacobi方法首先确定一个阈值δ,在对非对角元零化的一次扫描中,只对其中绝对值 超过阈值的非对角元进行零化. 当所有非对角元素的绝对值都不超过阈值后,将阈值减少, 再重复下一轮扫描,直至阈值充分小为止. 减少阈值的方法通常是先固定一个正整数M≥n,扫描一次后,让 . 而阈值的下界是根据实际问题的精度要求选定的.
用Jacobi方法计算特征向量 • 假定经过k次迭代得到Ak+1=RTk…RT1AR1…Rk,(15) 这时Ak+1是满足精度要求的一个近似的对角阵. 如果记Qk=R1R2…Rk=Qk-1Rk,(16) 那么,Qk是一个正交矩阵,且(15)式又可表示为Ak+1=QTkAQk.当Ak+1的非对角元素充分小,Qk的第 j列qj可以看成是近似特征值a(k+1)jj相应的特征向量了.
在实际计算中,可以按(16)式在迭代过程中形成Qk,把Qk看成是Qk-1右乘一个平面旋转矩阵得到. 不妨记 Q0=I,Qk的元素按下式计算:
反幂法 • 反幂法可以求一个非奇异矩阵A的逆矩阵A-1的按模最小的特征值及相应的特征向量,又可以求A的一个近似特征值相应的特征向量. • 求按模最小特征值及相应特征向量的反幂法,又称为反迭代法.
求近似特征值的特征向量的反幂法 • 先对矩阵 进行LU分解,记 那么, (7) 下面介绍一种选取特殊的初始向量x0的反幂法——半迭代法.
假设 ,选取初始向量x0满足‖x0‖∞=1,这时z0=x0.对照(7)式中的第二个式子.可把z0看成满足Le=z0.(8) 这里,e=(1,1,…,1)T,而z0的各个分量的取值多少是无关重要的.这样,在第一个迭代步的计算中,只需求解(7)式中的上三角方程组Ux1=e. “半迭代法”的命名也由此而得.
QR方法 两个基本定理 定理设A是n阶矩阵,其n个 特征值为 .那么存在一个酉矩阵U,使 UHAU是以为 对角元的上三角矩阵. 定理设A是n阶实矩 阵,那么,存在一个正交矩阵Q,使QTAQ为一个准上三角矩阵,它的对角元是A的一个特征值,对角元上的二阶块矩阵的两个特征值是A的一对共轭复特征值.
相似约化为上Hessenberg矩阵 对一般n阶矩阵,QR算法的每一个迭代步需要O(n3)次乘法运算.如果矩 阵阶数稍大,这个算法几乎没有实际的应用价值. 通常采用的方法是先将矩阵相似约化为上Hessenberg形式的矩阵,在此基础上应用QR迭代.这时,一个QR迭代步的乘法运算次数只需O(n2)次.
所谓上Hessenberg矩阵是指一个n阶矩阵A,如果当i>j+1时,aij=0,称A为上Hessenberg矩阵.例如:一个5阶的上Hessenberg矩阵具有如下的形式: 下面介绍QR方法时,都假设矩阵A是一个上Hessenberg矩阵.
QR算法 • 设A是n阶矩阵且有QR分解A=QR,(2) 这里,Q是酉矩阵,R是上三角矩阵.如果A是满秩并规定R有正对角元,这个分解是惟一的.
一、QR算法的基本思想 • 记A=A1且有A1=Q 1R1.将等号右边两个矩阵因子的次序交换,得A2=R1Q1,且 ,(3) 即A2~A1. 不难证明: 即Ak+1~Ak~…~A1,矩阵序列{Ak}有相同的特征值. 记
容易得到 是Ak的一个QR分解 如果A是一个满秩的上Hessenberg矩阵,可以证明,经过一个QR迭代步得到的A2=Q-11A1Q1仍然是上Hessenberg矩阵. 因为上Hessenberg矩阵次对角线以下的元素全为0,因此,只要证明,当k→∞时,由迭 代格式(4)产生的矩阵Ak的次对角元趋向于零就可以了.
二、 QR算法的收敛性 • 定理设n阶矩阵A的n个特征值满足|λ1|>|λ2|>…>|λn|>0,其相应的n个线性无关特征向量为x1,x2,…,xn. 记X=(x1,x2,…,xn), Y= X-1.如果Y存在LU分解,那么,由(4) 式产生的矩阵Ak基本收敛于上三角矩阵R.这里,基本收敛的含义指{Ak}的元素中除对角线以下的元素趋于零外,可以不收敛于R的元素.
三、 QR算法的迭代过程 • 1. 一个QR迭代步的计算 ①对l=1,2,…,n-1,构造n-1个平面旋转矩阵Pl,l+1,使A1的次对角元全部零化,实现A1的QR分解的计算, 这里,
②用Pl,l+1右乘(24),所得结果也放回矩阵A相应的元素中.②用Pl,l+1右乘(24),所得结果也放回矩阵A相应的元素中.
QR算法的迭代控制 当迭代步数k充分大时,由迭代格式(4)产生的Ak的次对角元趋于0.在 实 际计算中,控制迭代次数常用的一种办法是,预先给定一个小的正数ε,在一个迭代步的计 算结束后,对l=n-1, n-2,…,1,依次判别次对角元的绝对值是否满足 或更严格的准则是 或不太严格的准则是 如果上面三个不等式中有一个成立, 把 看做实际上为零.
带原点位移的QR算法 • 由QR算法收敛性证明可以看出,QR算法的收敛速度 依赖于矩阵相邻特征值的比 值.为了加快算法的收敛速度,在迭代过程中,对矩阵Ak确定一个原点位移量sk,称Ak-skI为带原点位移量的矩阵,再对Ak-skI应用QR算法.这时,迭代格式改为 称为带原点位移的QR算法