求实对称三对角矩阵的特征值和特征向量
求实对称三对角矩阵的特征值和特征向量
求实对称三对角矩阵的特征值和特征向量要求求解一个实对称三对角矩阵的特征值和特征向量。
在介绍如何求解之前,首先我们来了解一下实对称三对角矩阵的定义。
实对称三对角矩阵是指矩阵的非零元素主对角线上的元素为a,副对角线上的元素为b,而其他元素均为0。
可以表示为如下形式:[a1b100...0][b1a2b20...0][0b2a3b3...0][00b3a4...0][..................][ 0 0 0 ... bn-1 an ]下面我们将介绍如何求解实对称三对角矩阵的特征值和特征向量。
求解实对称三对角矩阵的特征值和特征向量有多种方法,其中一种常用的方法是通过迭代法,特别是Householder迭代法。
下面我们将介绍这种方法的主要步骤。
1. 首先,将实对称三对角矩阵转化为对称上Hessenberg矩阵。
对称上Hessenberg矩阵是一个具有类似三对角矩阵结构的对称矩阵。
2. 在转化得到的对称上Hessenberg矩阵上应用QR迭代,不断迭代直到矩阵的对角线元素基本上收敛于特征值。
3. 在每次QR迭代中,我们通过施密特正交化方法(Gram-Schmidt orthogonalization)来构建Q矩阵,然后计算出新的矩阵R,并将其与Q相乘,得到下一次迭代的矩阵。
4.在QR迭代的最后一步,我们得到了一个上三角矩阵,其对角线上的元素即为所求的特征值。
5. 然后,我们可以通过反复应用幂迭代法(power iteration method)来求解对应于这些特征值的特征向量。
幂迭代法是一种求解线性代数特征向量的数值方法。
通过上述方法,我们可以求解实对称三对角矩阵的特征值和特征向量。
这种方法具有较高的数值稳定性和计算效率,因此在实际求解中被广泛采用。
需要注意的是,在特征值和特征向量的计算过程中,可能会出现一些特殊情况。
比如矩阵中的主对角线元素不是严格递增或递减的时候,对于这种情况,我们需要进行一些额外的处理。
计算广义实对称三对角矩阵特征值问题的分治算法
2002 年第 24 卷第 5 期 Vol 24, No 5, 2002
文章编号: 1007 130X( 2002) 05 0015 03
计算广义实对称三对角矩阵特征值问题 的分治算法
The Divide and Conquer Algorithm for Generalized Symmetric Tridiagonal Eigenvalue Problems
L ) ( x ) = x + n/ (- f ∗( x ) / f ( x ) )
( n - 1) [ ( n - 1) (- f ∗( x ) / f ( x ) ) 2 - n(f +( x ) / f ( x ) ) ] )
其中 f ( x ) 、f ∗( x ) 和 f +( x ) 均采用三项递推式, 且 计算量基本相同。当 x ( i , i + 1) 时, L + ( x ) 比 较接近 i + 1, L_( x ) 比较接近 i 。并且 Laguerre 迭 代是三次收敛的, 割线迭代法的渐进收敛率为 1. 618[ 3] 。显然, 要收敛到相同的精度, Laguerre 迭代 次数比割线迭代法少。但每迭代一次, Laguerre 迭 代算法的计算量显然要比割线法多。那么, 两者 比较, 到底有什么样的关系呢?
T^ - S^ 0
0T
W( )
定义 1[ 4] 对称矩阵 A 的惯性( v, !, ∀) 分别
表示矩阵 A 的小于 0、等于 0 和大于 0 的特征值 个数。
定理 1( Sylvester s 惯性定理[ 1] ) 如果 A Rn # n 是对称的, X Rn# n 是非奇异的, 那么矩阵
16
A 和 XT AX 有相同的惯性。 由引理 1 和定理 1 可得: 定理 2 设 不是( T^ , S^ ) 的特征值, 并令 V
数学实验“对称三对角矩阵特征值的二分法”实验报告(内含matlab程序)
西京学院数学软件实验任务书课程名称数学软件实验班级数0901 学号0912020107 姓名李亚强实验课题对称三对角矩阵特征值的二分法实验目的熟悉对称三对角矩阵特征值的二分法运用Matlab/C/C++/Java/Maple/Mathematica等其中实验要求一种语言完成实验内容对称三对角矩阵特征值的二分法成绩教师实验十四实验报告一、实验名称:对称三对角矩阵特征值的二分法。
二、实验目的:熟悉对称三对角矩阵特征值的二分法。
三、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成程序设计。
四、实验内容:%对称三对角矩阵特征值的二分法program ex0001integer nreal x1,x2,x,f1,f2,fx,epsreal,allocatable::d(,e(write(*,*) "Please enter n:"read(*,*) nallocate(d(n),e(n-1))eps=1.0E-6fx=1.0do j=1,nd(j)=-2end dodo j=1,n-1e(j)=1end do!write(*,*) "Please enter array d and e:"!read(*,*) d,ea1=d(1)-e(1)a2=d(1)-2*e(1)a3=d(1)+e(1)a4=d(1)+2*e(2)y1=min(a1,a2)y2=max(a4,a3)y=(y2-y1)/nx1=y1x2=y1+ywrite(*,*)"矩阵的特征值为:" do m=1,ntemp=x210 if(abs(fx)>eps) thenx=(x1+x2)/2f1=MValue(x1,n,d,e)f2=MValue(x2,n,d,e)fx=MValue(x,n,d,e)if (fx*f1>0) thenx1=xelsex2=xend ifgo to 10end ifprint*,"--------------------"write(*,*) xx1=tempx2=temp+yz=(x1+x2)/2fx=MValue(z,n,d,e)end doprint*,"--------------------" containsreal function mValue(x,n,d,e) Integer n,ireal xreal d(n),e(n-1),s(n)S(1)=x-d(1)S(2)=(x-d(1))*(x-d(2))-e(1)**2Do i=3,nS(i)=(x-d(i))*s(i-1)-e(i-1)**2*s(i-2) End domValue=s(n)returnEnd function mValueend。
三阶对称矩阵求特征值 例题
三阶对称矩阵求特征值例题下面是一个求解三阶对称矩阵的特征值的例题:例题:已知对称矩阵A = [1 2 3][2 4 5][3 5 6]求矩阵A的特征值和特征向量。
解答:首先,我们需要求解特征值。
设A的特征值为λ,特征向量为x。
根据特征值的定义,有Ax = λx。
根据矩阵乘法的定义,我们可以将上式改写为 (A - λI)x = 0,其中I是单位矩阵。
解这个齐次线性方程组可以得到特征向量。
对于一个3阶矩阵,我们需要求解一个3阶的特征多项式来得到特征值。
特征多项式的形式为 det(A - λI) = 0,即行列式等于零。
对于矩阵A,我们可以写出它的特征多项式:det(A - λI) = det([1-λ 2 3][2 4-λ 5][3 5 6-λ])根据行列式的计算,我们可以将其展开为λ的三次方程式,即:(1-λ)((4-λ)(6-λ)-(5)(5)) - (2)((2)(6-λ)-(5)(3)) + (3)((2)(5)-(4-λ)(3))= 0化简上式,我们得到特征多项式为:λ^3 - 11λ^2 + 21λ - 9 = 0由此可得特征方程的根,即特征值λ为1,2,3。
接下来,我们需要求解每个特征值对应的特征向量。
对于每一个特征值,我们将其代入方程(A - λI)x = 0,并解这个齐次线性方程组。
1. 对于特征值λ=1,我们有方程组(A - λI)x = (0 0 0):[1-1 2 3] [x₁] [0][2 4-1 5] [x₂] = [0][3 5 6-1][x₃] [0]化简方程组,我们得到:[0 2 3] [x₁] [0][3 5 5] [x₃] [0]通过高斯消元法或其他方法,我们可以解得x₁= 1,x₂= -1,x₃ = 1。
所以,当λ=1时,特征向量x = [1 -1 1]。
2. 对于特征值λ=2,我们有方程组(A - λI)x = (0 0 0):[1-2 2 3] [x₁] [0][2 4-2 5] [x₂] = [0][3 5 6-2][x₃] [0]化简方程组,我们得到:[-1 2 3] [x₁] [0][2 2 5] [x₂] = [0][3 5 4] [x₃] [0]通过高斯消元法或其他方法,我们可以解得x₁= 1,x₂= -3,x₃ = 2。
矩阵特征值与特征向量的计算
11
整理课件
12
整理课件
13
整理课件
14
x (K+2)
整理课件
15
整理课件
16
整理课件
17
整理课件
18
定理6 设A Rnn有完全特征向量系,若1, 2,…, n为A的n个特征值且满足
12
n
对任取初始向量x(0) Rn,对乘幂公式
x(k) Ax(k 1)
确定的迭代序列{xk},有下述结论:
z aii
n
aij
j1 ji
, i 1,2, ,n
n
表示以aii为中心,以
j
a ij
1
半径为的复平面上的n个圆盘。
ji
(2)如果矩阵A的m个圆盘组成的并集S(连通的)与其余
n – m个圆盘不连接,则S内恰包含m个A的特征值。
整理课件
8
定理4及定理5给出了矩阵特征值的估计方法及界。
41 0
例1 设有 A 1 0 1 估计A的特征值的范
围。
11 4
解:由圆盘定理:
D 1 :z41 ;D 2 :z02 ; D 3 :z42
D1为弧立圆盘且包含A的一个实特征值1(因为虚根成 对出现的原理),则3≤1≤5。而2、3D2∪D3,则
(A) max i 6. 3 (A) 6.
整理课件
9
§3.1 乘幂法与反幂法
3.1.1 乘幂法
整理课件
10
整理课件
i p ,q
a(pkp) aq(q k) a(pkq)
a(pkp1)cos2 2a(pkq 1)sin cos aq(q k 1)sin2 a(pkp1)sin2 2a(pkq 1)sin cos aq(k q 1)cos2 a(pkp1) aq(q k 1) sin cos a(pkq 1)(cos2 sin2 )
线性代数3.3实对称矩阵的特征值和特征向量
6 74 6 74 4n1 8 4n2 8 6 74 4nm 8 Λ = QT AQ = Q−1 AQ = diag(λ1,L, λ1 , λ2 ,L, λ2 ,L, λm ,L, λm )
附注: 主对角线元素(特征值!) !)排列顺序 附注: 矩阵 Λ 主对角线元素(特征值!)排列顺序 中正交列向量组(特征向量!)排列顺序相对应 !)排列顺序相对应。 与 Q 中正交列向量组(特征向量!)排列顺序相对应。 这种对角化形式是唯一的 是唯一的。 这种对角化形式 是唯一的。 在不计排列顺序情况下, 在不计排列顺序情况下, !!) (实对称矩阵A 的标准形!!) 实对称矩阵 的标准形!!
= ( A α 2 ) α1 = ( Aα 2 ) α1 = (λ2α 2 )
T T T T T
于是有
λ1α 2 α1 = λ2α 2 α1 ⇒ (λ1 − λ2 )α 2 α1 = 0 是正交的。 这样, 这样,由 λ1 ≠ λ2 得到 α 2T α1 = 0,即 α1 与 α2 是正交的。
T
实对称矩阵 A 的属于不同特征值的 【注】 特征向量相互正交的线性无关组。 特征向量相互正交的线性无关组。 例1 在§3.1中例 中,矩阵 中例4中 中例 3 2 4 A = 2 0 2 4 2 3 是实对称矩阵, 二重) 是实对称矩阵, 特征值 λ1 = λ2 = −1 (二重) 对应特征 向量 (2, 1, 2)T , (−1 2, 0)T 和 λ3 = 8 对应特征向量 (−1, 0, 1)T 都正交。 都正交。 当然, 当然,(2, 1, 2)T , (−1 2, 0)T 彼此不正交,但可以通过 彼此不正交, 把它们化为标准正交组。 标准正交化方法 把它们化为标准正交组。
det(λE − A) = 0
求解实对称三对角矩阵特征值的二分法
求解实对称三对角矩阵特征值的二分法
成礼智;童丽
【期刊名称】《应用数学》
【年(卷),期】1997(10)3
【摘要】本文利用2×2阶实对称矩阵特征值的计算,并以秩—1修正为基础,通过建立一种二分模式,得到了计算n除实对称三对角矩阵所有特征值的新方法.结果表明,当要求所有特征值时,本文方法优于QR方法。
由于算法过程中数据的不相关性,本文方法具有很好的并行性,尤其适合于MIMD并行实现。
【总页数】4页(P15-18)
【关键词】特征值;二分法;并行算法;实对称矩阵;三对角矩阵
【作者】成礼智;童丽
【作者单位】国防科技大学
【正文语种】中文
【中图分类】O241.6
【相关文献】
1.对求解对称三对角矩阵特征值区间分半法的探讨 [J], 韦增欣;覃炜达;杨志梅
2.求解对称三对角矩阵特征值问题的一种新算法 [J], 罗晓广;李晓梅
3.对求解对称三对角矩阵特征值区间分半法的探讨 [J], 韦增欣;覃炜达;杨志梅
4.解大规模对称三对角矩阵特征值问题的并行二分法 [J], 罗晓广;李晓梅
5.实对称阵的三对角化与二分法求特征值的结构优化算法 [J], 张乃敏
因版权原因,仅展示原文概要,查看原文内容请购买。
HouseholderQR法求实对称矩阵特征值和特
Householder QR法求实对称矩阵特征值和特Householder+QR法求实对称矩阵特征值和特征向量(C程序代码)2010-12-01 10:29嗯,上一个雅可比法求n xn实对称矩阵的特征值和特征向量,是很有限制的。
虽然这个方法可靠,精度好,但是对于高于十几阶的矩阵,它就显得力不从心了,因为收敛速度比较慢。
所以对于高阶的实对称阵的特征值和特征向量的求解,目前用得比较多的还是先Householder法把对称阵变成"三对角阵",再用QR法求取特征值。
因为赶工的原因,这两个程序我没有亲自动手写(众:怎么每次都这么多理由捏)。
这里就顺便推荐一本书:《常用算法程序集(C语言描述)》,清华大学出版社出版。
这本书的内容比较广,虽然原理上讲得不详细,但是对于赶工的程序员来说那是一条不错的捷径。
有点可惜的是此书的代码写得比较凌乱,可读性极其糟糕,有空的话(又要等"有空")某U很想把里面的代码再改写封装一下…因为实在是太实用了…为了表示对作者的尊敬,这里贴出来的代码除了函数名之外,对内容就不作修改了。
#include stdlib.h#include math.h typedef double mydouble;int qr(int n,mydouble*b,mydouble*c,mydouble*q,mydouble eps,int l){int i,j,k,m,it,u,v;mydouble d,f,h,g,p,r,e,s;c[n-1]=0.0;d=0.0;f=0.0;for(j=0;j=n-1;j++){it=0;h=eps*(fabs(b[j])+fabs(c[j]));if(h d)d=h;m=j;while((m=n-1)&&(fabs(c[m])d))m++;if(m!=j){do{if(it==l)return 1;it=it+1;g=b[j];p=(b[j+1]-g)/(2.0*c[j]);r=sqrt(p*p+1.0);if(p=0.0)b[j]=c[j]/(p+r);else b[j]=c[j]/(p-r);h=g-b[j];for(i=j+1;i=n-1;i++)b[i]=b[i]-h;f=f+h;p=b[m];e=1.0;s=0.0;for(i=m-1;i=j;i--){g=e*c[i];h=e*p;if(fabs(p)=fabs(c[i])){e=c[i]/p;r=sqrt(e*e+1.0);c[i+1]=s*p*r;s=e/r;e=1.0/r;}else{e=p/c[i];r=sqrt(e*e+1.0);c[i+1]=s*c[i]*r;s=1.0/r;e=e/r;}p=e*b[i]-s*g;b[i+1]=h+s*(e*g+s*b[i]);for(k=0;k=n-1;k++){u=k*n+i+1;v=u-1;h=q[u];q[u]=s*q[v]+e*h;q[v]=e*q[v]-s*h;}}c[j]=s*p;b[j]=e*p;}while(fabs(c[j])d);}b[j]=b[j]+f;}for(i=0;i=n-1;i++){k=i;p=b[i];if(i+1=n-1){j=i+1;while((j=n-1)&&(b[j]=p)){ k=j;p=b[j];j=j+1;}}if(k!=i){b[k]=b[i];b[i]=p;for(j=0;j=n-1;j++){u=j*n+i;v=j*n+k;p=q[u];q[u]=q[v];q[v]=p;}}}return 0;}void householder(mydouble*a,int n,mydouble*q,mydouble*b,mydouble*c){int i,j,k,u;mydouble h,f,g,h2;for(i=0;i=n-1;i++){for(j=0;j=n-1;j++){u=i*n+j;q[u]=a[u];}}for(i=n-1;i=1;i--){h=0.0;if(i 1){for(k=0;k=i-1;k++){u=i*n+k;h=h+q[u]*q[u];}}if(h+1.0==1.0){c[i]=0.0;if(i==1)c[i]=q[i*n+i-1];b[i]=0.0;}else{c[i]=sqrt(h);u=i*n+i-1;if(q[u]0.0)c[i]=-c[i];h=h-q[u]*c[i];q[u]=q[u]-c[i];f=0.0;for(j=0;j=i-1;j++){q[j*n+i]=q[i*n+j]/h;g=0.0;for(k=0;k=j;k++)g=g+q[j*n+k]*q[i*n+k];if(j+1=i-1){for(k=j+1;k=i-1;k++)g=g+q[k*n+j]*q[i*n+k];}c[j]=g/h;f=f+g*q[j*n+i];}h2=f/(h+h);for(j=0;j=i-1;j++){f=q[i*n+j];g=c[j]-h2*f;c[j]=g;for(k=0;k=j;k++){u=j*n+k;q[u]=q[u]-f*c[k]-g*q[i*n+k];}}b[i]=h;}}for(i=0;i=n-2;i++)c[i]=c[i+1];c[n-1]=0.0;b[0]=0.0;for(i=0;i=n-1;i++){if((b[i]!=0.0)&&(i-1=0)){for(j=0;j=i-1;j++){g=0.0;for(k=0;k=i-1;k++)g=g+q[i*n+k]*q[k*n+j];for(k=0;k=i-1;k++){u=k*n+j;q[u]=q[u]-g*q[k*n+i];}}}u=i*n+i;b[i]=q[u];q[u]=1.0;if(i-1=0){for(j=0;j=i-1;j++){q[i*n+j]=0.0;q[j*n+i]=0.0;}}}}参数说明:void householder(mydouble*a,intn,mydouble*q,mydouble*b,mydouble*c);a-n xn实对称矩阵,用线性的方法存储(嗯,其实静态数组就是这样的)。
矩阵特征值特征向量计算例程
矩阵特征值及特征向量计算例程1.1.1 乘幂法例程该程序是用乘幂法计算实矩阵按模最大实特征值的C语言程序。
运行该程序时可根据提示按行输入(阶数小于等于100的)实矩阵,程序输出矩阵按模最大实特征值及特征向量。
1. 说明:(1)该程序计算阶数小于等于100的实矩阵的按模最大特征值及特征向量。
(2)当矩阵阶数大于100时(如120),则只要修改程序行:double m,lm,mk,e,A[101][101], x[101] ,y[101];中101为121既可。
(3)只有当矩阵的按模最大特征值为实数时,程序有效。
(4)在按模最大特征值为实数的情况下,如果程序失败,则应适当调整误差限或最大迭代次数。
2. 乘幂法例程源代码#include <stdio.h>#include <math.h>void main(){float s,m,lm,mk,e,A[101][101], x[101] ,y[101];int n, i,j,k ,nn;printf("请输入矩阵的阶数(小于等于100)n:\n");scanf("%d",&n);for(i=1;i<=n;i++){printf("请输入矩阵的第%d行:\n",i);for(j=1;j<=n;j++)scanf("%f",&A[i][j]);}printf("请输入最大迭代次数nn:\n");scanf("%d",&nn);printf("请输入误差限e:\n");scanf("%f",&e);printf("请输入初始向量x[i]:\n");for(i=1;i<=n;i++)scanf("%f",&x[i]);printf("正在进行计算,请等待\n");k=0; mk=0;do{k=k+1;lm=mk;mk=0;for(i=1;i<=n;i++)if (fabs(x[i]>mk))mk=x[i];for(i=1;i<=n;i++){s=0;for(j=1;j<=n;j++)s=s+A[i][j]*x[j];y[i]=s;}for(i=1;i<=n;i++){s=0;for(j=1;j<=n;j++)s=s+A[i][j]*y[j];x[i]=s/mk;}}while ((fabs(lm-mk)>e)&&(k<nn));if (k>=nn){printf("超出最大迭代次数仍不满足误差要求,计算失败!\n"); return;}else{m=0;lm=0;for(i=1;i<=n;i++){if (fabs(y[i]>m))m=y[i];if (fabs(x[i]>lm))lm=x[i];}s=m/fabs(m)*sqrt(lm);printf("按模最大特征值为:%f\n",s);printf("对应的特征向量为:\n");for(i=1;i<=n;i++){x[i]=(y[i]/(s*s*s)+x[i]/(s*s))/2;printf("%f\n",x[i]);}}}1.1.2 化实对称矩阵为三对角矩阵例程该程序是用Househoulder变换将对称矩阵化为对称三对角矩阵的C语言程序。
三对角矩阵的特征值及其应用
大时,即使是不稳定的核,只要有较长的寿命,在发生 β 衰变之前就可以吸收下一
个中子. 而且在变成寿命较短的核之前,不断添加中子,然后再衰变. 这样一来,
如果中子照射量很大,可以跨过作为终点的 207 Bi 的α 衰变,形成直到铀及超铀元
素. 由于 R 过程的产生要求有大量的中子和迅速的反应,使得产生 R 过程的情况 受到很大限制,故多半应该考虑爆发时的异常情况,最可能的就是超新星爆发.
1.2.3 三条对角线上的元素分别相等
2
⎛a b 0⎞
A
=
⎜ ⎜⎜⎝
c 0
a c
b a
⎟ ⎟⎟⎠
λ − a −b 0 解:由 λE − A = −c λ − a −b
0 −c λ − a
=
(
λ
−
a
)
⎡⎣(
λ
−
a
)2
−
bc
⎤ ⎦
−
bc
(
λ
−
a
)
=
(
λ
−
a
)
⎡⎣(
λ
−
a
)2
−
2bc⎤⎦
=
0
可知当 bc > 0 时: λ1 = a , λ2 = a + 2bc , λ3 = a − 2bc .
⎥
0
bn−1
d n−1
an−1
⎥ ⎥
0 bn d n ⎥⎦
(2-1)
那么就称矩阵 A = (aij )1≤i, j≤n 为三对角阵([4]),(即:(2-1)-带状矩阵.)此时有
aij = 0 ( | i − j |> 1).
1.2 三阶三对角阵的特征值
求实对称三对角矩阵的特征值和特征向量.(DOC)
求实对称三对角矩阵的特征值和特征向量(一)摘要在特征值计算问题上,QR方法具有里程碑意义。
QR 方法是一种变换方法,是计算一般矩阵(中小型矩阵)全部特征值问题的最有效方法之一。
QR方法具有收敛快,算法稳定等特点.由于特征值和特征向量能从本质上揭露矩阵的某些重要性质,因而得到它们的精确解十分重要,但其计算一直是很繁琐的数学问题。
特别是当矩阵的阶数较高时,计算量非常大,且不易求其精确解。
关键词:特征值;特征向量;QR分解Solve Real Symmetry Three Diagonal Matrix Eigenvalue AndEigenvectorABSTRACTValues in the feature, the QR method has milepost sense. QR method is a transformation method, is the calculation of the general matrix ( small and medium-sized matrix ) one of the most effective methods of eigenvalue problems. The QR method has fast convergence, algorithm stability. Because the eigenvalues and eigenvectors can reveal some important properties of matrix from the nature, and thus obtain their exact solutions is very important, but the calculation is very complicated mathematical problems. Especially when the high rank of matrix, the calculation is very large, and is not easy to find the exact solution.Key words:eigenvalue; eigenvector; QR decomposition目录1 绪论 (1)1.1 问题重述 (1)1.2研究方法 (1)2 QR方法 (3)2.1 QR分解的概念 (3)2.2 Givens方法 (3)2.3豪斯霍尔德方法(镜像变换) (5)2.2.1 Householder 矩阵和Householder变换 (5)2.2.2QR算法 (6)3 QR算法C实现过程 (8)3.1主要参数 (8)3.2组成模块 (8)3.3程序改错 (8)4 测试运行 (11)参考文献……………………………………………………………………………….…….. 附录…………………………………………………………………………….……………..1 绪论1.1 问题重述(1)用你所熟悉的计算机语言编制利用QR 方法求实对称三对角矩阵全部特征值和特征向量的通用子程序。
对称矩阵的特征值问题
1: Given a symmetric matrix A ∈ Rn×n
2: if eigenvectors are desired then
3: set J = I and shif t = 1
4: end if
5: while off(A)> tol do
6: for i = 1 to n − 1 do
14:
if shif t = 1 then
15:
J = J · G(i, j, θ)
16:
end if
17:
end if
18:
end for
19: end for
20: end while
循环 Jacobi 也具有局部二次收敛性.
13/93
2 Rayleigh 商迭代
在反迭代方法中, 以 Rayleigh 商作为位移. 关于 Rayleigh 商迭代的收敛性, 我们有下面的结论.
σ
=
a(nk)
−
δ
+
(b√(nk−)1)2 sign(δ) δ2 +
(b(nk−)1)2 .
定理 采用 Wilkinson 位移的 QR 迭代是整体收敛的, 且至少是线性收 敛. 事实上, 几乎对所有的矩阵都是渐进三次收敛的.
18/93
例 带 Wilkinson 位移的隐式 QR 迭代算法收敛性演示. Matlab 代码: Eig_TriQR.m
14/93
3 对称 QR 迭代
将带位移的隐式 QR 方法运用到对称矩阵, 就得到对称 QR 迭代方法.
基本步骤
1. 对称三对角化: 利用 Householder 变换, 将 A 化为对称三对角矩阵, 即 计算正交矩阵 Q 使得 T = QAQ⊺ 为对称三对角矩阵;
矩阵特征值的计算
1 3 0
0
3
7
7
1
A2
H1
A1
H
T
1
0
3 7
15
15
118 101
15 75 75
0
1
101
7
15 75 75
k 2, xT (3, 7 , 7 , 1 ) 3 15 15
x3
7, 15
y
1 15
s
[(
7
)2
(
1
)(
1
1
)] 2
0.4713
15
15 15
7 v3 15 s 0.9310
(1) 构造 H1 使得 H1 a1 = 1e1 ,令
1
a(2) 12
A2 H1A H1[a1, a2,
,
an
]
0
a(2) 22
a(2) 2
0
a(2) n2
a(2) 1n
a(2) 2n
a(2) nn
(2) 构造
H2
使得
H
a(2)
22
2 e1
,令
1
a(2) 12
a(2) 13
1 0
0
Hw I 2wwT
为Householder变换。
13
Householder 变换
性质
(1) 对称:HwT Hw (2) 正交:Hw1 HwT Hw
(3) 对合:Hw2 I
(4) 保模: Hw x 2
x 2
(5) det(Hw) 1
14
Householder 变换
定理:设 x, y Rn, x y 且 ||x||2 = ||y||2,则存在 n 阶 Householder 变换 H,使得
对称三对角矩阵特征值
对称三对角矩阵特征值下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by the editor. I hope that after you download them, they can help yousolve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts,other materials and so on, want to know different data formats and writing methods, please pay attention!对称三对角矩阵是一种特殊的矩阵形式,具有许多独特的性质和特征。
用割线法迭代求解对称三对角矩阵特征值问题
用割线法迭代求解对称三对角矩阵特征值问题割线法是一种用于求解对称三对角矩阵特征值问题的迭代方法,它有效利用矩阵的对称性,以及三对角结构,大大减少了计算量。
割线法的原理是将对称三对角矩阵A按照行(或列)分解为无关子矩阵,通过改变矩阵A中的某些元素使之满足一定条件,然后再将矩阵A求解。
割线法的关键在于如何改变矩阵A中的元素。
割线法的思想是用一条割线将三对角矩阵A分割为上下两部分,并将矩阵A中的元素分别改变。
改变的方式是在矩阵A的上半部分中,将每一行中的元素加上割线处元素的值;在矩阵A的下半部分中,将每一行中的元素减去割线处元素的值,这样矩阵A就满足了一定的条件。
割线法的步骤是:1、将原来的对称三对角矩阵A分割为上下两部分,并将矩阵A中的元素分别改变;2、在矩阵A的上半部分中,将每一行中的元素加上割线处元素的值;3、在矩阵A的下半部分中,将每一行中的元素减去割线处元素的值;4、用新生成的矩阵替换原来的矩阵,计算新矩阵的特征值;5、如果计算出来的特征值满足要求,则停止求解;如果不满足要求,则重复步骤1-4,直到求得满足要求的特征值为止。
以上是割线法迭代求解对称三对角矩阵特征值问题的基本步骤,但如何选择割线位置,以及如何改变矩阵A中的元素才能使矩阵A满足一定的条件,就是割线法的关键问题了。
一般而言,割线位置的选择应该尽可能在矩阵A的主对角线上,这样可以简化计算量,提高计算效率。
而在改变矩阵A中的元素时,应注意保持矩阵A的对称性,以及尽可能使主对角线上的元素不变。
割线法迭代求解对称三对角矩阵特征值问题,其优点在于:一是它有效利用了矩阵的对称性,以及三对角结构,大大减少了计算量;二是它可以在每一次迭代后返回一个新的特征值,从而可以更快地收敛。
但割线法也有缺点,如:一是即使矩阵A在每一次迭代后都满足割线法的要求,也不能保证从这个新矩阵中求出的特征值是最精确的,这可能会导致最终求出的特征值和实际的特征值存在一定的差距;二是由于割线法需要迭代,当矩阵A较大时,可能会耗费较多时间。
线性代数第四章 矩阵的特征值和特征向量4.3 实对称矩阵的特征值和特征向量
1
1 1
(0,1 2
,1 2
)T ,
2
(1,0,0)T
,
3
(0,
1, 2
1 )T . 2
令矩阵
Q
(1,
2
,
3
)
0 1
2
1
1 0
0
0 1
2 1
,
0
1
, 1
2
2
则Q为正交矩阵,且Q1AQ . 因此A QQT
§4.3 实对称矩阵的特征值和特征向量
实数域上的对称矩阵简称为实对称矩阵. 一、实对称矩阵特征值的性质 定理4.12 实对称矩阵的特征值都是实数.
定理4.13 实对称矩阵A的属于不同特征值的特征向 量相互正交.
证明 设1, 2是A的不同特征值.1,2分别为A的属于
特征值1,2的特征向量.则
T
21
0,
由于
1
2,所以
T 2
1
0.即 2与1正交.
证毕
3 2 4 例1 在§4.1的例4中,矩阵 A 2 0 2
4 2 3 是实对称矩阵, 其特征值 1 2 (1 二重)和 3 8.
1 1
A的属于特征值1的全部特征向量为c1
设为 2 ,3 , 则 2和3都与1正交.
设与向量1正交的向量为 (x1, x2 , x3 )T,则
x1
1T
(0,1,1)x2
x2
x3
0.
三阶实对称矩阵特征值与特征向量的计算机实现
西安理工大学学报JOURNAL OF XI'AN UNIVERSITY OFTECHNOLOGY1999年第15卷第3期Vol.15No.31999三阶实对称矩阵特征值与特征向量的计算机实现郭俊杰田世杰封定廖勇摘要:提出一种通用的关于求解一般三阶实对称矩阵特征值与特征向量的快速直接计算方法。
首先使用高精度缩根法求出所给矩阵的特征方程,得到了3个特征根(包括重根)。
其次运用选主元与最小二乘法相结合的思想,获得了实际运用中较为理想的每个特征根所对应的全部特征向量。
关键词:特征值;特征向量;主元;最小二乘法中图分类号:TB931O241.6文献标识码:AThe Computer Method of Eigenvalues and Eigenvectorsof 3×3 Real Symmetric MatricesGUO Jun-jie,TIAN Shi-jie,FENG Ding, LIAO Yong(Xi’an University of Technology, Xi’an 710048, China)Abstract:This paper suggests a common computation method, i.e. the solution eignvalues and eigenvectors of 3×3 real symmetric matrices. First, the characteristic equation of the matrix are obtained by using the method of highly accurate reduced root so as to achieve three eigenvalues (including heavy root). Second, all the eigenvectors of each eigenvalue which are more ideal for the purpose of accurate scientific computation are obtained by using the thought of combining of the pivote with the method of minimum squares. Key words: eigenvalue; eigenvector; pivot; method of minimum squares矩阵的特征值与特征向量是十分重要的概念。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求实对称三对角矩阵的特征值和特征向量(一)摘要在特征值计算问题上,QR方法具有里程碑意义。
QR 方法是一种变换方法,是计算一般矩阵(中小型矩阵)全部特征值问题的最有效方法之一。
QR方法具有收敛快,算法稳定等特点.由于特征值和特征向量能从本质上揭露矩阵的某些重要性质,因而得到它们的精确解十分重要,但其计算一直是很繁琐的数学问题。
特别是当矩阵的阶数较高时,计算量非常大,且不易求其精确解。
关键词:特征值;特征向量;QR分解Solve Real Symmetry Three Diagonal Matrix Eigenvalue AndEigenvectorABSTRACTValues in the feature, the QR method has milepost sense. QR method is a transformation method, is the calculation of the general matrix ( small and medium-sized matrix ) one of the most effective methods of eigenvalue problems. The QR method has fast convergence, algorithm stability. Because the eigenvalues and eigenvectors can reveal some important properties of matrix from the nature, and thus obtain their exact solutions is very important, but the calculation is very complicated mathematical problems. Especially when the high rank of matrix, the calculation is very large, and is not easy to find the exact solution.Key words:eigenvalue; eigenvector; QR decomposition目录1 绪论 (1)1.1 问题重述 (1)1.2研究方法 (1)2 QR方法 (3)2.1 QR分解的概念 (3)2.2 Givens方法 (3)2.3豪斯霍尔德方法(镜像变换) (5)2.2.1 Householder 矩阵和Householder变换 (5)2.2.2QR算法 (6)3 QR算法C实现过程 (8)3.1主要参数 (8)3.2组成模块 (8)3.3程序改错 (8)4 测试运行 (11)参考文献……………………………………………………………………………….…….. 附录…………………………………………………………………………….……………..1 绪论1.1 问题重述(1)用你所熟悉的计算机语言编制利用QR 方法求实对称三对角矩阵全部特征值和特征向量的通用子程序。
(2)利用你所编制的子程序求如下矩阵(从70到80阶)⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=4114114114 A (1.1) 的全部特征值和特征向量。
1.2研究方法在特征值计算问题上,QR 方法具有里程碑意义。
在1955年的时候,人们还觉得特征值的计算是十分困扰的问题,到1965年它的计算——基于QR 方法的程序已经完全成熟。
直到今天QR 方法仍然是特征值计算的有效方法之一。
设A 是n n ⨯阶矩阵,如果数λ和n 维非零向量x 满足x Ax λ= (1.2)则λ称为矩阵A 的一个特征值,x 称为矩阵A 的属于λ的特征向量。
由于特征值和特征向量能从本质上揭露矩阵的某些重要性质,因而得到它们的精确解十分重要,但其计算一直是很繁琐的数学问题。
特别是当矩阵的阶数较高时,计算量非常大,且不易求其精确解。
故在工程技术上,计算矩阵的特征值和特征向量主要使用数值解法,得到其在某一精度水平上的近似解。
常用的算法有:幂法、反幂法、Jacobi 方法和QR 方法。
通过这次课程设计实现用QR 方法求解实对称三对角矩阵的全部特征值和特征向量。
QR 方法是一种变换方法,是计算一般矩阵(中小型矩阵)全部特征值问题的最有效方法之一。
QR 方法具有收敛快,算法稳定等特点.对矩阵A 进行拟上三角化得到)1(-n A 后,使用带双步位移的QR 方法的迭代公式为:k k T k k k k k k k k k n Q A Q A QR M R Q M tIsA A M A A ==+-==+-12)1(1)( 分解作对 (1.3)2 QR 算法应用2.1 QR 分解的概念定理1.1[1]如果实(复)非奇异矩阵A 能化成正交矩阵Q 与实非奇异上三角矩阵R 的乘积, 即=QR A (2.1) 则称式(2.1)是A 的QR 分解。
引理1.1 任何实的非奇异n 阶矩阵A 可以分解成正交矩阵Q 和上三角矩阵R 的乘积,且除去相差一个对角线元素之绝对值全等于1的对角矩阵因子D 外,分解式(2.1)是唯一的。
定理1.2[1]设A 为m n ⨯复矩阵(m n ≥),且n 个列向量线性无关,则A 具有分解R U A = (2.2)其中U 是m n ⨯复矩阵,且满足H U U =I ,R 是n 阶复非奇异上三角矩阵,且除去相差一个对角元素的模全为1的对角矩阵因子外,分解式(2.2)唯一的。
2.2 Givens 方法我们知初等旋转变换的性质,即用ij R 在乘矩阵A 时,仅影响A 的第i 行和第j 行,且选适当的ij R ,就可以消去A 的一个非零元素。
一般地说,作一次旋转可以消去一个非零元素。
如果在作下一次旋转时不会影响前面已化为零的元素,即不会重新又变成非零,那么,借助于初等旋转矩阵将A 约化成上三角矩阵就有希望。
在平面解析几何中,将向量x 沿顺时针旋转角度θ后变为向量y 时的旋转变换为cos sin sin cos y x Tx θθθθ⎛⎫== ⎪-⎝⎭ (2.3)由于旋转变换不改变向量的模,即2222Tx x =, (2.4)此即,,Tx Tx x x <>=<>,所以T 是正交变换,从而T 是正交矩阵,且det 1T =-。
(2.5)一般地说,在n 维欧氏空间nR 中引入旋转变换如下。
定义1.2[2] 设实数c 与s 满足221c s += ,称 11111ij c s T s c ⎛⎫ ⎪ ⎪ ⎪ ⎪⎪ ⎪= ⎪- ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭()i j < (2.4)为Givens 矩阵(或初等旋转矩阵(Elementary Rotation Matrix )),有时也记为(,)ij ij T T c s =,由Givens 矩阵所确定的线性变换称为Givens 变换(或初等旋转变换(Elementary Rotation Transformation )).当221c s +=时,必有角度θ,使得cos ,sin c s θθ==性质1.2.1[2] Givens 矩阵是正交矩阵且有1[(,)][(,)](,)T ij ij ij T c s T c s T c s -==- (2.5) det[(,)]1ij T c s = (2.6)性质1.2.2[2] 设1212(,,...,),(,,...,)T Tn ij n x y T x εεεηηη=== 则有(,)i i j j j k k c s s c k i j ηεεηεεηε=+⎧⎪=-+⎨⎪=≠⎩ (2.7)式(2.7)表明,当220i j εε+≠ 时,选取第i 行 第j 行2222ii j i j c s εεεεε==++ (2.8)就可使220,0i i j j ηεεη=+>=。
(2.9)定理1.3[2] 设12(,,...,)0T n x εεε=≠,则存在有限多个Givens 矩阵的乘积,记为T ,使得12Tx x e =,其中1(1,0,...,0)T e 。
(2.10) 推论1[2].设非零向量n x R ∈及单位列向量n z R ∈ ,则存在有限多个Givens 矩阵的乘积,记为T ,使得 2Tx x z =。
(2.11)2.3豪斯霍尔德方法 (镜像变换)2.3.1 Householder 矩阵 和Householder 变换定义3.1[2] 设n u R ∈,且21u = 称2T I uu H =- (2.12)为Householder 矩阵(或初等反射矩阵(Elementary Reflection Matrix )),由Householder 矩阵所确定的初等变换称为Householder 变换(或初等反射变换((Elementary Reflection Transformation )).Householder 矩阵具有如下性质:(1)T H =H (对称矩阵);(2)T I H H = (正交矩阵);(3)2I H = (对合矩阵);(4)1-H =H (自逆矩阵);(5)det 1H =-使用式(2.12)可直接验证性质(1)到性质(4)设3u R ∈ 为一个单位列向量,s 是过原点且与u 垂直的平面,312,R νννν∀∈=+,其中12,s s νν∈⊥ ,则11112T uu ννννH =-=,(因为u s ⊥ ,而1s ν∈ ,故1u ν⊥ ,从而10T u ν=) 2222222222()2()2T T T uu uu ku ku u u ννννννννH =-=-=-=-=-(因为u s ⊥,故u s ⊥∈ ,而2s ν⊥∈,故2ν与u 平行,从而2ku ν=)。
这样ν经变换后的镜像νH 是ν关于s 对称向量1212νννννH =H +H =- 。
(6)nx R ∀∈ ,记y x =H ,则有 2()2()T T y x x uu x x u x u =H =-=- (2.13) T T T T y y x x x x =H H = (2.14)式(2.13)第二个等号成立的理由是矩阵乘法满足结合律,而T u x 为实数。
式(2.14)表明222y x x =H = 。
定理1.4[2] 设n x R ∈为非零列向量 ,n z R ∈ 为单位列向量,则存在Householder 矩阵H ,使得2x x zH = 。
2.3.2 QR 算法假设A 为非奇异矩阵,则由定理1.1知A 有QR 分解,先说QR A =令1A =A ,对1A 作QR 分解,得交换1Q 与1R 的次序 ,得211Q R A =再将2A 作QR 分解 ,得222Q R A =又交换2Q 与2R 的次序 ,得111Q R A =322R Q A =如此反复作下去,得迭代序列{}k A 如下11Q R (1,2,...)Q k k k k k k k R +A =A ⎧⎪A ==⎨⎪A =⎩ (2.15)称式(2.15)为矩阵A 的QR 算法(Algorithm ) 由式(2.15)易知 ,1Q k k k R -=A ,故11Q Q k k k k -+A =A ,这表明矩阵序列{}k A 中任何两个相邻矩阵都是相似的,从而每个k A 都与矩阵A 相似。