【强烈推荐】幂法和反幂法求矩阵特征值_毕业论文

合集下载

矩阵最大特征值求法

矩阵最大特征值求法

矩阵最大特征值求法矩阵最大特征值求法矩阵最大特征值是矩阵理论中的重要概念,它在很多领域都有广泛的应用,如物理、化学、工程等。

在实际应用中,我们需要求解矩阵的最大特征值和对应的特征向量,以便对矩阵进行分析和处理。

本文将介绍两种常用的矩阵最大特征值求法:幂法和反迭代法。

一、幂法幂法是求解矩阵最大特征值和对应特征向量的一种常用方法。

其基本思想是:对于一个矩阵A,我们可以随机选择一个向量x0,然后通过不断迭代,使得向量x0趋近于矩阵A的最大特征值所对应的特征向量。

具体步骤如下:1. 随机选择一个向量x0,使其满足||x0||=1。

2. 对向量x0进行迭代,得到向量x1,即x1=Ax0。

3. 对向量x1进行归一化,得到向量x2,即x2=x1/||x1||。

4. 重复步骤2和步骤3,直到向量x收敛于矩阵A的最大特征值所对应的特征向量。

在实际应用中,为了提高计算效率,我们可以对向量x进行正交化处理,即每次迭代后,将向量x与前面所有的向量进行正交化,以避免向量的线性相关性对计算结果的影响。

二、反迭代法反迭代法是一种基于幂法的改进算法,它可以求解矩阵的任意一个特征值和对应的特征向量。

其基本思想是:对于一个矩阵A和一个已知的特征值λ,我们可以通过反迭代法,求解出矩阵A中与特征值λ最接近的特征值和对应的特征向量。

具体步骤如下:1. 随机选择一个向量x0,使其满足||x0||=1。

2. 对向量x0进行迭代,得到向量x1,即x1=(A-λI)-1x0,其中I为单位矩阵。

3. 对向量x1进行归一化,得到向量x2,即x2=x1/||x1||。

4. 重复步骤2和步骤3,直到向量x收敛于矩阵A中与特征值λ最接近的特征向量。

在实际应用中,我们可以通过多次迭代,求解出矩阵A中多个特征值和对应的特征向量,以便对矩阵进行更全面的分析和处理。

总结矩阵最大特征值求法是矩阵理论中的重要内容,幂法和反迭代法是常用的求解方法。

在实际应用中,我们需要根据具体情况选择合适的方法,并注意算法的收敛性和计算效率。

数值分析幂法和反幂法

数值分析幂法和反幂法

数值分析幂法和反幂法数值分析中的幂法和反幂法是求解矩阵最大特征值和最小特征值的常用方法。

这两种方法在许多数值计算问题中都有着广泛的应用,包括图像压缩、数据降维、谱聚类等。

幂法(Power Method)是一种迭代算法,通过不断迭代矩阵与一个向量的乘积,来逼近原矩阵的最大特征值和对应的特征向量。

其基本思想是,对于一个矩阵A和一维向量x,可以通过不断迭代计算Ax,Ax,Ax...,来使得向量x逼近最大特征值对应的特征向量。

具体的迭代过程如下:1.初始化一个向量x0(可以是单位向量或任意非零向量)2.令x1=Ax0,对向量进行归一化(即除以向量的范数)得到x13.重复步骤2,即令x2=Ax1,x3=Ax2...,直到收敛(即相邻迭代向量的差的范数小于一些阈值)为止4. 最终得到的向量xn就是A的最大特征值对应的特征向量在实际求解时,我们可以将迭代过程中的向量进行归一化,以防止数值溢出或下溢。

此外,为了提高迭代速度,我们可以选择使得xn与xn-1的内积大于0的方向作为迭代方向,这样可以使得特征值的模快速收敛到最大特征值。

幂法的收敛性是保证的,但收敛速度可能较慢,尤其是当最大特征值与其他特征值非常接近时。

此时可能需要使用一些改进的方法来加速收敛,例如Rayleigh商或位移策略。

相反,反幂法(Inverse Power Method)是求解矩阵的最小特征值和对应的特征向量的方法。

它的基本思想和幂法类似,但在每次迭代中,需要计算A和依其逆矩阵A-1的乘积。

迭代过程如下:1.初始化一个向量x0(可以是单位向量或任意非零向量)2.令x1=A-1x0,对向量进行归一化(即除以向量的范数)得到x13.重复步骤2,即令x2=A-1x1,x3=A-1x2...4. 最终得到的向量xn就是A的最小特征值对应的特征向量反幂法和幂法的区别在于迭代过程中乘以了A的逆矩阵,从而可以利用矩阵的特殊结构或性质来提高迭代速度。

同时,在实际求解时,可能需要将矩阵进行一些变换,以确保A-1存在或数值稳定性。

幂法、反幂法求矩阵特征值

幂法、反幂法求矩阵特征值

#include "stdafx.h"#include "math.h"#define A(i,j) a[i-j+3][j]double a[5][501];inline double vectornorm2(double*b,int n){double sum=0.0;int i;for(i=0;i<n;i++)sum+=b[i]*b[i];return sqrt(sum);}//add the parameter index,because in the powermetod using vector//infinite norm needs to known the index of maximum component of the vector inline double vectornorm8(double*b,int n,int& index){double max=0.0;int i;for(i=0;i<n;i++)if(max<fabs(b[i])){max=fabs(b[i]);index=i;}return max;}//A为系数矩阵,b为返回的特征向量,n为矩阵的阶数,delta为允许误差//幂法计算特征值可以有两种方法,这里用的是向量的无穷范数double powermethod8(int n,double*b,double delta){double*b1;double yita,sum,beta1,beta2;int i,j,k;//初始迭代向量for(i=0;i<n;i++)b[i]=10;b1=new double[n];beta1=0;beta2=1;while(fabs((beta2-beta1)/beta2)>delta){yita=vectornorm8(b,n,k);for(i=0;i<n;i++){b1[i]=b[i]/yita;if(fabs(b1[i])<delta)b1[i]=0;}for(i=0;i<n;i++){sum=0;for(j=0;j<n;j++)if(abs(i-j)<3)sum+=A(i,j)*b1[j];b[i]=sum;}beta1=beta2;beta2=(b1[k]>=0?1:-1)*b[k];}delete[]b1;return beta2;}int maximum(int a1,int b1,int c1) {int max;max=a1;if(b1>max)max=b1;if(c1>max)max=c1;return max;}/////////////////////////*上半带宽s,下半带宽r*/////////////////////////bool sanjiaodai(int n,int s,int r) {int i,j,k,m;double sum;if(A(0,0)==0){printf("第0个主元素为0\n"); return false;}i=0;m=n<(i+r+1)?n:i+r+1;for(i=1;i<m;i++)A(i,0)=A(i,0)/A(0,0);for(i=1;i<n;i++){m=n<(i+s+1)?n:i+s+1;for(j=i;j<m;j++){sum=0;for(k=maximum(0,i-r,j-s);k<i;k++)sum+=A(i,k)*A(k,j);A(i,j)=A(i,j)-sum;}m=n<(i+r+1)?n:i+r+1;for(j=i+1;j<m;j++){sum=0;for(k=maximum(0,i-r,j-s);k<i;k++)sum+=A(j,k)*A(k,i);if(A(i,i)==0){printf("第%d个主元素为0\n",&i);return false;}A(j,i)=(A(j,i)-sum)/A(i,i);}}return true;}bool huidai(int n,int s,int r,double*b){//使用数组b来保存中间变量y,和x的解int i,k;double sum;for(i=1;i<n;i++){sum=0;for(k=(0>i-r?0:i-r);k<i;k++)sum=sum+A(i,k)*b[k];b[i]=b[i]-sum;}b[n-1]=b[n-1]/A((n-1),(n-1));for(i=n-2;i>=0;i--){sum=0;for(k=i+1;k<(n<i+s+1?n:i+s+1);k++)sum+=A(i,k)*b[k];b[i]=(b[i]-sum)/A(i,i);}return true;}//反幂法的每一步迭代都需要求解一个线性方程组,在这里先对A进行LU分解//计算特征值时使用2范数//flag参数表示是否同时求解A的行列式值double inversepowermethod(int n,double* b,double delta,bool flag){double*b1;double yita,beta1,beta2,sum;int i;//初始迭代向量for(i=0;i<n;i++)b[i]=1;b1=new double[n];beta1=0;beta2=1.0;sanjiaodai(n,2,2);if(flag){sum=1;for(i=0;i<n;i++)sum=sum*A(i,i);printf("矩阵A的行列式值为:%.12e\n",sum);}while(fabs((beta2-beta1)/beta2)>delta){yita=vectornorm2(b,n);for(i=0;i<n;i++){b1[i]=b[i]/yita;if(fabs(b1[i])<delta)b1[i]=0;b[i]=b1[i];}huidai(n,2,2,b);beta1=beta2;beta2=0;for(i=0;i<n;i++)beta2+=b1[i]*b[i];}beta2=1.0/beta2;delete[]b1;return beta2;}int main(int argc, char* argv[]){int i,j,k;//获取Adouble lamda1,lamdas,lamda501,miu,lamda,sum;double b[501];for (i=0;i<501;i++)for(j=0;j<501;j++){switch (j-i){case 0:A(i,j)=(1.64-0.024*(i+1))*sin(0.2*(i+1))-0.64*exp(0.1/(i+1));break;case 1:case -1:A(i,j)=0.16;break;case 2:case -2:A(i,j)=-0.064;}}//计算按模最大的特征值,它有可能是lamda1,也有可能是lamda501 //如果大于则是lamda501;否则是lamda1lamda1=powermethod8(501,b,1.0e-12);printf("lamda1= %.12e\n",lamda1);lamdas=inversepowermethod(501,b,1.0e-12,true);printf("lamdas= %.12e\n",lamdas);for (i=0;i<501;i++)for(j=0;j<501;j++){switch (j-i){case 0:A(i,j)=(1.64-0.024*(i+1))*sin(0.2*(i+1))-0.64*exp(0.1/(i+1))+10;break;case 1:case -1:A(i,j)=0.16;break;case 2:case -2:A(i,j)=-0.064;}}lamda501=powermethod8(501,b,1.0e-12);printf("lamda501= %.12e\n",lamda501-10);for(k=0;k<39;k++){miu=lamda1+k*(lamda501-lamda1)/40;for (i=0;i<501;i++)for(j=0;j<501;j++){switch (j-i){case 0:A(i,j)=(1.64-0.024*(i+1))*sin(0.2*(i+1))-0.64*exp(0.1/(i+1))-miu; break;case 1:case -1:A(i,j)=0.16;break;case 2:case -2:A(i,j)=-0.064;}}lamda=inversepowermethod(501,b,1.0e-12,false);printf("lamdai%d= %.12e\n",k,lamda+miu);}printf("A的条件数为:%.12e",fabs(lamda1/lamdas));return 0;}。

幂法反幂法求解矩阵最大最小特征值及其对应的特征向量

幂法反幂法求解矩阵最大最小特征值及其对应的特征向量

幂法反幂法求解矩阵最大最小特征值及其对应的特征向量幂法和反幂法是求解矩阵最大最小特征值及其对应特征向量的常用方法。

在本文中,我们将详细介绍这两种方法的原理和具体实现。

一、幂法(Power Method)幂法是一种迭代算法,用于求解矩阵的最大特征值及其对应的特征向量。

其基本思想是通过多次迭代得到矩阵的一个特征值和特征向量的近似值,并使其逼近真实值。

幂法的原理如下:1.初始化一个非零向量b0作为初始特征向量;2.计算b0的归一化向量b0/,b0,得到新的向量b1;3.计算矩阵A和向量b1的乘积Ab1,得到新的向量b2;4.对b2进行归一化,得到新的向量b3;5.重复步骤3和步骤4,直到b的变化趋于稳定;6.计算矩阵A和向量b的乘积Ab,得到新的向量b;7.特征值的近似值λ=,Ab,/,b。

具体实现如下:1.初始化一个非零向量b0;2.迭代n次进行如下操作:a. 计算bn=A*bn-1;b. 将bn进行归一化,得到bn=bn/,bn;3. 计算特征值的近似值lambda=,A*bn,/,bn;4. 特征向量的近似值vbn=bn。

幂法的优点是计算简单、迭代次数少,但对于含有多个特征值接近的矩阵,可能会收敛到次大特征值。

二、反幂法(Inverse Power Method)反幂法是幂法的拓展,用于求解矩阵的最小特征值及其对应的特征向量。

其基本思想是通过多次迭代得到矩阵的一个特征值和特征向量的近似值,并使其逼近真实值。

反幂法的原理如下:1.初始化一个非零向量b0作为初始特征向量;2.计算b0的归一化向量b0/,b0,得到新的向量b1;3.计算矩阵A的逆矩阵Ai和向量b1的乘积Ai*b1,得到新的向量b2;4.对b2进行归一化,得到新的向量b3;5.重复步骤3和步骤4,直到b的变化趋于稳定;6.计算矩阵A的逆矩阵Ai和向量b的乘积Ai*b,得到新的向量b;7.特征值的近似值λ=,Ai*b,/,b。

具体实现如下:1.初始化一个非零向量b0;2.迭代n次进行如下操作:a. 计算bn=inv(A)*bn-1;b. 将bn进行归一化,得到bn=bn/,bn;3. 计算特征值的近似值lambda=,inv(A)*bn,/,bn;4. 特征向量的近似值vbn=bn。

矩阵特征值快速求法

矩阵特征值快速求法

矩阵特征值快速求法矩阵特征值是矩阵分析中十分重要的概念。

它在物理、工程、数学等许多领域都有着广泛的应用。

矩阵特征值是指矩阵运动时特殊的运动状态,是一种宏观量度矩阵运动的指标。

求解矩阵特征值是一项复杂的任务,通常需要使用高级算法来完成。

本文将介绍几种常用的求解矩阵特征值的算法,其中包括幂法、反幂法、QR算法、分裂Broyden算法等。

一、幂法幂法是求解矩阵特征值的一种基础算法,其基本思想是通过迭代来逐步逼近矩阵的最大特征值。

幂法的核心公式如下:x_(k+1)=A*x_k/||A*x_k||其中,x_k表示第k次迭代中得到的特征向量,A表示原始矩阵。

幂法通过不断的迭代来逼近A的最大特征值,当迭代次数趋近于无限大时,得到的特征向量就是A的最大特征值所对应的特征向量。

幂法的运算量较小,适用于比较简单的矩阵。

反幂法与幂法类似,不同之处在于每次迭代时采用的是A的逆矩阵来进行计算。

其核心公式如下:x_(k+1)=(A-λI)^(-1)*x_k其中,λ表示要求解的特征值。

反幂法能够求解非常接近于特征值λ的特征向量,并且对于奇异矩阵同样适用。

需要注意的是,在实际计算中,如果A-λI的秩不满,那么反幂法就无法使用。

三、QR算法1. 将原矩阵A进行QR分解,得到A=Q*R。

2. 计算A的近似特征矩阵A1=R*Q。

5. 重复步骤3-4,直到A的对角线元素全部趋近于所求特征值为止。

QR算法的计算量较大,但其具有收敛速度快、精度高等优点,广泛应用于科学计算中。

四、分裂Broyden算法分裂Broyden算法是QR算法的一种改进算法,其基本思想是将矩阵分解成上下三角形式,然后再对其进行QR分解,以减少QR算法中的乘法运算量。

具体实现过程如下:2. 构造一个倒数矩阵B=U^(-1)*L^(-1)。

4. 计算A的近似特征矩阵A1=Q^(-1)*L^(-1)*A*R^(-1)*U^(-1)*Q。

分裂Broyden算法的计算量较小,能够有效地解决QR算法中的乘法运算量过大的问题。

计算方法之计算矩阵的特征值和特征量

计算方法之计算矩阵的特征值和特征量

计算方法之计算矩阵的特征值和特征量计算矩阵的特征值和特征向量是线性代数中的一个重要问题,它在科学研究和工程应用中有着广泛的应用。

本文将介绍计算矩阵特征值和特征向量的方法,包括特征方程法、幂法、反幂法和QR方法。

一、特征值和特征向量的定义给定一个n阶方阵A,如果存在一个非零向量x和一个标量λ,满足以下方程:Ax=λx其中,x被称为A的特征向量,λ被称为A的特征值。

二、特征方程法特征方程法是计算矩阵特征值和特征向量的一种常用方法,其基本思想是通过求解矩阵的特征方程来求得特征值。

对于一个n阶方阵A,其特征方程为:A-λI,=0其中,I是n阶单位矩阵,A-λI,表示A-λI的行列式。

解特征方程可以得到n个特征值λ₁,λ₂,...,λₙ。

然后,将这些特征值带入原方程组(A-λI)x=0,求解线性方程组得到n个特征向量x₁,x₂,...,xₙ。

三、幂法幂法是一种通过迭代来计算矩阵最大特征值和对应的特征向量的方法。

首先,随机选择一个非零向量b₀,并进行归一化,得到单位向量x₀=b₀/,b₀。

然后,通过迭代的方式,计算xₙ₊₁=Axₙ,其中xₙ为第k次迭代得到的向量。

在迭代过程中,向量xₙ的模长会逐渐趋近于最大特征值对应的特征向量。

当迭代收敛后,xₙ就是矩阵A的最大特征值对应的特征向量。

四、反幂法反幂法是一种通过迭代来计算矩阵最小特征值和对应的特征向量的方法。

首先,随机选择一个非零向量b₀,并进行归一化,得到单位向量x₀=b₀/,b₀。

然后,通过迭代的方式,计算xₙ₊₁=(A-σI)⁻¹xₙ,其中σ为待求的特征值。

在迭代过程中,向量xₙ的模长会逐渐趋近于特征值σ对应的特征向量。

当迭代收敛后,xₙ就是矩阵A的特征值为σ的特征向量。

五、QR方法QR方法是一种通过迭代来计算矩阵特征值和特征向量的方法。

首先,将矩阵A进行QR分解,得到矩阵A=QR,其中Q是正交矩阵,R是上三角矩阵。

然后,计算矩阵B=RQ,重复以上步骤,直到矩阵B收敛。

矩阵特征值求法的十种求法(非常经典)

矩阵特征值求法的十种求法(非常经典)

矩阵特征值求法的十种求法(非常经典)以下是矩阵特征值求法的十种经典求法:1. 幂法(Power Method)幂法(Power Method)幂法是求解特征值的常用方法之一。

它基于一个重要的数学原理:对于一个非零向量$x$,当它连续乘以矩阵$A$的$k$次幂后,$Ax$的方向将趋于特征向量相应的特征值。

这种方法通常需要进行归一化,以防止向量过度增长。

2. 反幂法(Inverse Power Method)反幂法(Inverse Power Method)反幂法是幂法的一种变体。

它通过计算矩阵$A$的逆来求解最小的特征值。

使用反幂法时,我们需要对矩阵$A$进行LU分解,以便更高效地求解线性方程组。

3. QR方法QR方法QR方法是一种迭代方法,可以通过将矩阵$A$分解为$QR$形式来逐步逼近特征值。

这种方法是通过多次应用正交变换来实现的,直到收敛为止。

QR方法不仅可以求解特征值,还可以求解特征向量。

4. Jacobi方法Jacobi方法Jacobi方法是一种迭代方法,通过施加正交相似变换将矩阵逐步变为对角矩阵。

在每个迭代步骤中,Jacobi方法通过旋转矩阵的特定元素来逼近特征值。

这种方法适用于对称矩阵。

5. Givens旋转法Givens旋转法Givens旋转法是一种用于特征值求解的直接方法。

它通过施加Givens旋转矩阵将矩阵逐步变为对角矩阵。

这种方法是通过旋转矩阵的特定元素来实现的。

6. Householder变换法Householder变换法Householder变换法是一种用于特征值求解的直接方法。

它通过施加Householder变换将矩阵逐步变为Hessenberg形式,然后再进一步将其变为上三角形式。

这种方法是通过对矩阵的列向量进行反射来实现的。

7. Lanczos方法Lanczos方法Lanczos方法是一种迭代方法,用于对称矩阵的特征值求解。

该方法创建一个Krylov子空间,并使用正交投影找到最接近特征值的Krylov子空间中的特征值。

幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量(DOC)

幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量(DOC)

数值计算解矩阵的按模最大最小特征值及对应的特征向量一.幂法1. 幂法简介:当矩阵A 满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。

矩阵A 需要满足的条件为: (1) 的特征值为A i n λλλλ,0||...||||21≥≥≥>(2) 存在n 个线性无关的特征向量,设为n x x x ,...,,21 1.1计算过程:i ni i i u xx αα,1)0()0(∑==,有对任意向量不全为0,则有1111112211211111111011)()(...u u a u a u λu λαu αA x A Ax x k n n k n k k ni ik i i ni i i k )(k (k))(k αλλλλλα++++=+=+++≈⎥⎦⎤⎢⎣⎡+++======∑∑ 可见,当||12λλ越小时,收敛越快;且当k 充分大时,有1)1111)11111λαλαλ=⇒⎪⎩⎪⎨⎧==+++(k )(k k(k k )(k x x u x u x ,对应的特征向量即是)(k x 1+。

2 算法实现.,, 3,,1 , ).5()5(,,,,||).4();max(,).3()(max(;0,1).2(,).1()()()(停机否则输出失败信息转置若转否则输出若计算最大迭代次数,误差限,初始向量输入矩阵βλβεβλβλε←+←<<-←←=←←k k N k y x Ay x x abs x y k N x A k k k3 matlab 程序代码function [t,y]=lpowerA,x0,eps,N) % t 为所求特征值,y是对应特征向量k=1;z=0; % z 相当于λy=x0./max(abs(x0)); % 规范化初始向量x=A*y; % 迭代格式b=max(x); % b 相当于βif abs(z-b)<eps % 判断第一次迭代后是否满足要求t=max(x);return;endwhile abs(z-b)>eps && k<Nk=k+1;z=b;y=x./max(abs(x));x=A*y;b=max(x);end[m,index]=max(abs(x)); % 这两步保证取出来的按模最大特征值t=x(index); % 是原值,而非其绝对值。

数值分析幂法和反幂法

数值分析幂法和反幂法

数值分析幂法和反幂法数值分析中,幂法(Power method)和反幂法(Inverse Power method)是求解矩阵的特征值和特征向量的两种常用方法。

它们都是通过迭代过程逼近特征值和特征向量。

1.幂法:幂法是求解矩阵的最大特征值和对应的特征向量的一种迭代方法。

幂法的原理是通过迭代过程,将一个任意选择的初始向量不断与矩阵相乘,使其逼近对应最大特征值的特征向量。

幂法的迭代公式为:$x^{(k+1)} = \frac{Ax^{(k)}}{\,Ax^{(k)}\,}$幂法的迭代过程是不断对向量进行归一化,使其逐渐逼近最大特征值对应的特征向量。

当迭代次数足够多时,可以得到非常接近最大特征值的估计。

2.反幂法:反幂法是幂法的一种变形,用于求解矩阵的最小特征值和对应的特征向量。

反幂法的原理是通过迭代过程,将一个任意选择的初始向量不断与矩阵的逆相乘,使其逼近对应最小特征值的特征向量。

反幂法的迭代公式为:$x^{(k+1)} = \frac{A^{-1}x^{(k)}}{\,A^{-1}x^{(k)}\,}$反幂法的迭代过程同样是不断对向量进行归一化,使其逐渐逼近最小特征值对应的特征向量。

当迭代次数足够多时,可以得到非常接近最小特征值的估计。

3.收敛性分析:幂法和反幂法的收敛性分析与矩阵的特征值分布有关。

对于幂法而言,如果矩阵$A$的最大特征值是唯一的,并且其他特征值的绝对值小于最大特征值的绝对值,那么幂法是收敛的,而且收敛速度是指数级的。

对于反幂法而言,如果矩阵$A$的最小特征值是唯一的,并且其他特征值的绝对值大于最小特征值的绝对值,那么反幂法是收敛的,而且同样是指数级的收敛速度。

4.实际应用:幂法和反幂法在实际中广泛应用于各个领域,例如物理、工程、计算机科学等。

比如在结构力学中,幂法可以用来求解结构的自振频率和相应的振型;在电力系统中,反幂法可以用来求解电力系统决定性特征值,例如功率稳定性的最小特征值。

幂法求解矩阵主特征值的加速方法毕业论文

幂法求解矩阵主特征值的加速方法毕业论文

幂法求解矩阵主特征值的加速方法傅鹏河南理工大学数学与信息科学学院信息与计算科学专业2009级1班摘要:本论文主要研究的是幂法求解矩阵的主特征值和特征向量。

物理、力学和工程技术中有许多需要我们求矩阵的按模最大的特征值(及称为主特征值)和特征向量。

幂法是计算一个矩阵的模最大特征值和对应的特征向量的一种迭代方法。

它最大的优点是方法简单,适合于大型稀疏矩阵的主特征值,但是收敛速度非常慢。

所以我们要用加速的方法来加速收敛,加速方法包括原点平移加速、Rayleigh 商加速和Aitken 加速算法。

关键词:幂法;原点平移加速;Rayleigh 商加速;Aitken 加速算法§1 引言我们来介绍矩阵特征值和特征向量的计算方法,大家知道求一个矩阵的特征值的问题实质上是求一个多项式的根的问题,而数学上已经证明5阶以上的多项式的根一般不能用有限次运算求得。

因此,矩阵特征值的计算方法本质上都是迭代,而对于大型的稀疏矩阵就需要用幂法求解最简单。

但是由于收敛速度非常的慢所以我们需要用加速的方法加快收敛速度而本次论文也是针对加速问题来通过对几种方法的研究讨论。

并且通过算法的实现来说明那种加速算法收敛得快,哪个计算量比较节省。

其实本文主要讨论的问题是一个应用中常见的一类数值计算问题。

§2 加速算法的背景2.1幂法幂法是计算一个矩阵的模最大特征值和对应的特征向量的一种迭代方法。

它适用于大型稀疏矩阵。

为了说明其基本思想我们先假设n nA C⨯∈是可对角化的,即A 有如下分解1A X X -=Λ其中()[]112,,,,,n n n diag X x x C λλ⨯Λ==∈非奇异,再假定12.n λλλ>≥≥现任取一向量0.n u C ∈由于X 的列向量构成nC 的一组基,故0u 可表示为01122,n n u x x x ααα=+++这里.i C α∈这样,我们有02111121nkk j jj nk j j jj kn j kj j j A u A x x x x ααλλλααλ=====⎛⎫⎛⎫ ⎪=+ ⎪ ⎪⎝⎭⎝⎭∑∑∑由此可知 0111lim.k kk A u x αλ→∞=这表明,当10α≠而且k 充分大时,向量01k k k A u u λ=这是A 的一个很好的近似特征向量。

特征值与特征向量算法的研究

特征值与特征向量算法的研究

特征值与特征向量算法的研究摘要:目前在很多科学领域中进行研究时,问题常会转化成特征值与特征向量的求解。

本文就求解特征值、特征向量的几个重要的算法作出了研究。

如:幂法,反幂法,QR算法,Jacobi迭代法等。

讨论了各算法的原理及各算法在MATLAB中的运行情况,从而比较出在面对不同性质的矩阵时每个算法都各有千秋。

幂法计算简单,特别适用于高阶稀疏矩阵,但其收敛速度较慢,要想加快幂法的收敛速度可采用反幂法及位移技术。

QR方法被人们称为数值数学,最值得注意的算法之一,它是目前求任意矩阵全部特征值和特征向量最有效的方法。

Jacobi方法是古典方法,它收敛快,精度高,便于并行计算且算法稳定。

但比较适用于求低阶的对称矩阵的全部特征值和特征向量。

关键词:特征值特征向量幂法 QR算法雅可比算法Abstract:At present While carrying on research in a lot of scientific fields,the questions often change into how to solve the eigenvalue and eigenvector. The degree paper do research in some important arithmetic on eigenvalue and eigenvector, such as power method, inverse power method, QR arithmetic and Jacobi arithmetic etc. In this paper, we discuss the theory of arithmetic, also including how to use them in the MATLAB. Then we can come to the conclusion that the power method is easy to run, it is fit to sparse matrix, but the speed is too slow! If you want to speed the rate of convergence, you can use inverse power method. QR is diffused as numerical mathematics, one of the noteworthiness arithmetic; it is the best arithmetic which can solve all eigenvalue and eigenvector of any matrix. Jacobin arithmetic is a classicality, the rate of convergence is fast, and the precision are high too. It is easy to parallel calculate, and the result is steady but it is fit to calculate all eigenvalue and eigenvector of symmetric matrix.Keywords:Eigenvalue eigenvector power method QR arithmetic Jacobin arithmetic目录摘要 (1)1绪论1.1问题提出与研究的目的和意义 (3)1.2国内外研究现状 (3)1.3论文结构与研究方法 (3)1.4论文使用的软件环境 (4)2 MATLAB语言及其在数值计算方面应用的简介 (4)2.1幂法 (4)2.2反幂法 (6)2.3移位反幂法 (8)2.4 QR算法 (10)2.5雅可比(Jacobi)迭代法 (12)3记单侧旋转法的对称矩阵特征值的求法 (16)4几种算法的比较 (16)5 MATLAB计算仿真结果 (17)在MATLAB中用幂法求其特征值与特征向量 (17)6尚待深入研究的问题 (17)参考文献 (18)致谢 (18)一、绪论1.1问题提出与研究的目的和意义代数特征值问题是数值代数的一个重要研究领域。

数值方法课程设计幂法反幂法计算矩阵特征值和特征向量-附Matlab程序

数值方法课程设计幂法反幂法计算矩阵特征值和特征向量-附Matlab程序

矩阵的特征值与特征向量的计算摘要物理,力学,工程技术中的很多问题在数学上都归结于求矩阵特征值的问题,例如振动问题(桥梁的振动,机械的振动,电磁振动等)、物理学中某些临界值的确定问题以及理论物理中的一些问题。

矩阵特征值的计算在矩阵计算中是一个很重要的部分,本文使用幂法和反幂法分别求矩阵的按模最大,按模最小特征向量及对应的特征值。

幂法是一种计算矩阵主特征值的一种迭代法,它最大的优点是方法简单,对于稀疏矩阵比较合适,但有时收敛速度很慢。

其基本思想是任取一个非零的初始向量。

由所求矩阵构造一向量序列。

再通过所构造的向量序列求出特征值和特征向量。

反幂法用来计算矩阵按模最小特征向量及其特征值,及计算对应于一个给定近似特征值的特征向量。

本文中主要使用反幂法计算一个矩阵的按模最小特征向量及其对应的特征值。

计算矩阵按模最小特征向量的基本思想是将其转化为求逆矩阵的按模最大特征向量。

然后通过这个按模最大的特征向量反推出原矩阵的按模最小特征向量。

关键词:矩阵;特征值;特征向量;冥法;反冥法THE CALCULATIONS OF EIGENVALUE AND EIGENVECTOR OF MATRIXABSTRACTPhysics, mechanics, engineering technology in a lot of problems in mathematics are attributed to matrix eigenvalue problem, such as vibration (vibration of the bridge, mechanical vibration, electromagnetic vibration, etc.) in physics, some critical values determine problems and theoretical physics in some of the problems. Matrix eigenvalue calculation is a very important part in matrix computation. In this paper, we use the power method and inverse power method to calculate the maximum of the matrix, according to the minimum characteristic vector and the corresponding characteristic value.Power method is an iterative method to calculate the eigenvalues of a matrix. It has the advantage that the method is simple and suitable for sparse matrices, but sometimes the convergence rate is very slow. The basic idea is to take a non - zero initial vector. Construct a vector sequence from the matrix of the matrix. Then the eigenvalues and eigenvectors are obtained by using the constructed vector sequence.The inverse power method is used to calculate the minimum feature vectors and their eigenvalues of the matrix, and to calculate the eigenvalues of the matrix. In this paper, we use the inverse power method to calculate the minimum eigenvalue of a matrix and its corresponding eigenvalues. The basic idea of calculating the minimum characteristic vector of a matrix is to transform it to the maximumc haracteristic vector of the modulus of the inverse matrix. Then, according to the model, the minimum feature vector of the original matrix is introduced.Key words: Matrix ;Eigenvalue ;Eigenvector ;Iteration methods;目录1引言 (1)2相关定理。

矩阵特征值计算范文

矩阵特征值计算范文

矩阵特征值计算范文一、矩阵的特征值与特征向量在线性代数中,我们将一个n阶方阵A所满足的以下等式称为特征方程:det(A-λI) = 0其中,det(·)表示矩阵的行列式,λ是一个标量,I是n阶单位矩阵。

特征方程的解称为矩阵的特征值,而使得特征方程成立的非零向量称为矩阵的特征向量。

特征值和特征向量之间存在一定的关系。

设λ是A的特征值,对应的非零向量x称为特征向量,那么满足以下等式:Ax=λx即,矩阵A左乘一个特征向量等于特征值乘以该特征向量。

二、矩阵特征值计算的方法1.特征多项式法特征多项式法是求解特征值的基本方法,也是最常用的方法之一、其步骤如下:(1)给定一个n阶方阵A;(2)根据特征方程det(A-λI) = 0,计算特征多项式F(λ) =det(A-λI);(3)求特征多项式F(λ)的根(也称为特征值),即使得F(λ)=0的λ值。

2.幂法幂法是一种迭代法,用于求解矩阵的最大特征值及其对应的特征向量。

其基本思路是从一个随机的非零向量x开始,通过迭代方法逐渐使向量x趋近于矩阵的特征向量。

具体步骤如下:(1)给定一个n阶方阵A;(2)初始化一个非零向量x0;(3)迭代计算:若x为第k次迭代的向量,则:y=Ax;x=y/,y;(4)重复步骤(3)直到收敛,即x的变化趋于稳定;(5)计算特征值:λ=(Ax)/x;(6)计算特征向量:v=x/,x。

3.QR迭代法QR迭代法是一种迭代法,用于求解矩阵的全部特征值。

其基本思路是将矩阵A通过QR分解得到上三角矩阵R,并迭代计算,使得A逐渐趋近于一个上三角矩阵。

具体步骤如下:(1)给定一个n阶方阵A;(2)进行QR分解,将A分解为A=QR,其中Q是正交矩阵,R是上三角矩阵;(3)计算矩阵的下一个近似值:A_next = RQ;(4)重复步骤(2)和(3),直到矩阵A的对角线元素足够接近特征值;(5)取出对角线上的元素,即为矩阵A的特征值。

除了上述方法外,还有许多其他的特征值计算方法,如反幂法、Jacobi方法、Hessenberg矩阵法等。

幂法反幂法求解矩阵最大最小特征值及其对应的特征向量

幂法反幂法求解矩阵最大最小特征值及其对应的特征向量

幂法反幂法求解矩阵最大最小特征值及其对应的特征向量幂法是一种迭代算法,用于求解矩阵的最大特征值及其对应的特征向量。

反幂法是幂法的一种变体,用于求解矩阵的最小特征值及其对应的特征向量。

两种方法在求解特征值问题时有相似的步骤,但反幂法需要对矩阵进行一定的变换。

幂法的基本思想是通过不断迭代的方式逼近矩阵的最大特征值及其对应的特征向量。

求解的过程如下:1.随机选择一个初始向量x0,并进行归一化,即使其模长为12. 根据公式计算新的向量xk+1 = Axk,其中A为待求解特征值的矩阵。

3. 对xk+1进行归一化。

4. 计算矩阵A关于xk+1的雷神特征值λk+1 = (Axk+1)·xk+1 / xk+1·xk+1,其中·表示向量的内积。

5.重复步骤2至4,直到满足收敛条件。

幂法的收敛条件一般是设置一个精度,当迭代的过程中特征向量的变化小于该精度时,认为结果已经收敛。

最终得到的特征值就是矩阵A的最大特征值,对应的特征向量为收敛时的xk+1反幂法是对幂法的一种改进,用于求解矩阵的最小特征值及其对应的特征向量。

反幂法的基本思想是通过将矩阵A的特征值问题转化为矩阵B=(A-μI)^-1的特征值问题来求解,其中μ为一个非常接近待求解特征值的数。

求解的过程如下:1.随机选择一个初始向量x0,并进行归一化,即使其模长为12. 根据公式求解新的向量xk+1 = (A-μI)^-1xk,其中A为待求解特征值的矩阵,μ为一个非常接近待求解特征值的数。

3. 对xk+1进行归一化。

4. 计算矩阵B关于xk+1的雷神特征值λk+1 = (Bxk+1)·xk+1 / xk+1·xk+1,其中·表示向量的内积。

5.重复步骤2至4,直到满足收敛条件。

反幂法的收敛条件与幂法相似,一般也是设置一个精度。

最终得到的特征值就是矩阵A的最小特征值,对应的特征向量为收敛时的xk+1总结:幂法和反幂法是求解矩阵最大最小特征值的常用迭代算法。

幂法及反幂法

幂法及反幂法

, r 不全为零),则有 r r n k k k i k [ x [ x ( ) x ] vk Avk 1 A v0 1 i i k ] 1 i i i i 1 i 1 i 1 i r 1 n i k ( ) xi ,且 lim k 0, 其中 k i k 1 i r 1
从而
k
幂法: n n (且设 1 , 2 , 对任意的初始向量 v0 R , 且 v0 0, 有v0 i xi ,
i 1
k 1 i 1 vk 因此,当k充分大时, k 接近于与 1 对应的特征向量的某个 1 r 线性组合 i xi( 1 , 2 ,, r 不全为零) 。
(当k 时, k 0)
)k xi 0 (当k )。
(2) 对迭代向量序列: {vk } k Ak v0 1 (1 x1 k ) 1 x1 k vk 1 k 1 k 1 1 (1 x1 k 1 )) max(A v0 ) max( max( 1 x1 k 1 ) max( 1 x1 k ) max( v ) 1 当k k )) 于是, k k 1 1, (当 max( 1 x1 k 1 ) 即 vk 绝对值最大的分量当 k 时,趋向于特征根 1 。 结论: 定理 8 (1)设 A R n n 有n个线性无关的特征向量; (2)设A特征值满足 | 1 || 2 | | n |, 且 Axi i xi (i 1,, n); (3){uk } 及 {vk }由改进幂法得到的规范化向量序列及迭代向量 序列((2.7)式),则有 x1 lim k lim max( v k ) 1 . (a ) limuk ; (b) k k k max(x1 ) 2 r | | 确定。 且收敛速度由比值 1

(完整word版)幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量(word文档良心出品)

(完整word版)幂法,反幂法求解矩阵最大最小特征值及其对应的特征向量(word文档良心出品)

数值计算解矩阵的按模最大最小特征值及对应的特征向量一.幂法1. 幂法简介:当矩阵A 满足一定条件时,在工程中可用幂法计算其主特征值(按模最大)及其特征向量。

矩阵A 需要满足的条件为: (1) 的特征值为A i n λλλλ,0||...||||21≥≥≥>(2) 存在n 个线性无关的特征向量,设为n x x x ,...,,211.1计算过程:i ni i i u xx αα,1)0()0(∑==,有对任意向量不全为0,则有1111112211211111111011)()(...u u a u a u λu λαu αA x A Ax x k n n k n k k ni ik i i ni i i k )(k (k))(k αλλλλλα++++=+=+++≈⎥⎦⎤⎢⎣⎡+++======∑∑ 可见,当||12λλ越小时,收敛越快;且当k 充分大时,有1)1111)11111λαλαλ=⇒⎪⎩⎪⎨⎧==+++(k )(k k(k k )(k x x u x u x ,对应的特征向量即是)(k x 1+。

2 算法实现.,, 3,,1 , ).5()5(,,,,||).4();max(,).3()(max(;0,1).2(,).1()()()(停机否则输出失败信息转置若转否则输出若计算最大迭代次数,误差限,初始向量输入矩阵βλβεβλβλε←+←<<-←←=←←k k N k y x Ay x x abs x y k N x A k k k3 matlab 程序代码function [t,y]=lpowerA,x0,eps,N) % t 为所求特征值,y是对应特征向量k=1;z=0; % z 相当于λy=x0./max(abs(x0)); % 规范化初始向量x=A*y; % 迭代格式b=max(x); % b 相当于βif abs(z-b)<eps % 判断第一次迭代后是否满足要求t=max(x);return;endwhile abs(z-b)>eps && k<Nk=k+1;z=b;y=x./max(abs(x));x=A*y;b=max(x);end[m,index]=max(abs(x)); % 这两步保证取出来的按模最大特征值t=x(index); % 是原值,而非其绝对值。

关于幂法与反幂法的研究

关于幂法与反幂法的研究

东北大学秦皇岛分校数值计算课程设计报告幂法及反幂法学院数学与统计学院专业信息与计算科学学号******姓名***指导教师*** ***成绩教师评语:指导教师签字:2014年07月07日1 绪论1.1 课题的背景矩阵特征值的数值算法,在科学和工程技术中很多问题在数学上都归结为矩阵的特征值问题。

例如,结构的振动波形和频率可分别由适当矩阵的特征向量和特征值来决定,结构的稳定性由特征值决定;又如机械和机件的振动问题,无线电工及光学系统第电磁振荡问题和物理学中各种临界值都牵涉到特征值计算。

所以说研究利用数学软件解决求特征值的问题是非常必要的。

求矩阵特征值的一种方法是从原始矩阵出发,求出其特征多项式及其根,即得到矩阵的特征值。

但高次多项式求根问题尚有困难,而且重根的计算精度较低。

另外,原始矩阵求特征多项式系数的过程,对舍入误差非常敏感,对最终结果影响很大。

所以,从数值计算的观点来看,这种求矩阵特征值的方法不够好。

实际问题中,有时需要的并不是所有的特征根,而是最大最小的实特征根。

称模最大的特征根为主特征值。

解决特征值计算的算法有很多种,古老的雅可比方法、兰乔斯方法以及较为常用的幂法、QR方法。

QR方法是一种变换法,可求全部的特征值;幂法和反幂法是迭代法,只求模最大与模最小的特征值及特征向量。

下面主要来研究一下幂法、反幂法,利用MATLAB解决矩阵特征值问题。

幂法是一种计算矩阵主特征值(矩阵按模最大的特征值)及对应特征向量的迭代方法,特别适用于大型稀疏矩阵。

反幂法是计算海森伯格阵或三对角阵的对应一个给定近似特征值的特征向量的有效方法之一。

1.2 概念的认识对于n阶矩阵A,若存在数λ和n维向量x满足:x=,则称λ为矩阵A的特征值,Axλx为相应的特征向量。

病态矩阵:求解方程组时对数据的小扰动很敏感的矩阵。

例如希尔伯特矩阵就是一类著名的病态矩阵。

本次课题不对病态矩阵做深入研究。

非亏损矩阵:矩阵存在n个线性无关的特征向量,即有一个完全的特征向量组。

高阶对称矩阵特征值的计算毕业论文

高阶对称矩阵特征值的计算毕业论文

巢湖学院2013届本科毕业论文(设计)高阶对称矩阵特征值的计算毕业论文目录摘要..................................... 错误!未定义书签。

Abstract ................................. 错误!未定义书签。

目录.. (1)引言..................................... 错误!未定义书签。

1 关于矩阵特征值的概念 (2)1.1 矩阵特征值和特征向量的定义 (2)1.2矩阵特征值的计算方法 (2)1.3对称矩阵特征值的一些性质 (3)2高阶对称矩阵特征值的计算方法 (4)2.1Jacobi旋转法 (4)2.1.1Jacobi旋转法的概念 (5)2.2幂法 (7)2.2.1幂法的概念 (7)2.2.2反幂法的概念 (10)2.3 QR方法 (12)2.3.1豪斯霍尔德变换 (12)高阶对称矩阵特征值的计算2.3.2用正交相似变换约化一般矩阵为上海森伯格矩阵 ......... 12 2.3.3豪斯霍尔德约化对称矩阵为对称三对角矩阵 ............. 15 2.3.4QR 方法的算法及实例 ................................. 15 3结束语 ................................................ 17 参考文献 (19)1 关于矩阵特征值的概念本论文在第一部分首先介绍矩阵特征值的定义,接着介绍本文讨论的关于对称矩阵在特征值问题上的不同于一般矩阵的性质。

这样在下面介绍其他矩阵特征值计算方法之前,可以对特征值有一个大致的了解。

1.1 矩阵特征值和特征向量的定义定义1[3] 设矩阵()n nij A a ⨯=∈,若存在实数或者复数λ和非零向量12(,,,)T nn x x x x =∈,使Ax x λ= (1) 则称λ为A 的特征值,x 为A 对应λ的特征向量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.选择合适问题求解的数值计算方法;
3.设计程序并进行计算;
4.对结果进行解释说明;
采用方法
及结果
说明
对于幂法和反幂法求解矩阵特征值和特征向量的问题将从问题分析,算法设计和流程图,理论依据,程序及结果进行阐述该问题。
一.问题的分析:
求n阶方阵A的特征值和特征向量,是实际计算中常常碰到的问题,如:机械、结构或电磁振动中的固有值问题等。对于n阶矩阵A,若存在数和n维向量x满足
m=m+m0;
在matlab输入面板,输入
A=rand(4);%产生一个4维随机矩阵
B=A+A’;
u=[1 1 1 1]’;%设立初始向量
Ax=x(1)
则称为矩阵A的特征值,x为相应的特征向量。
由高等代数知识可知,特征值是代数方程
|I-A|=+a+…+a+a=0(2)
的根。从表面上看,矩阵特征值与特征向量的求解问题似乎很简单,只需求解方程(2)的根,就能得到特征值,再解齐次方程组
(I-A)x=0(3)
的解,就可得到相应的特征向量。
上述方法对于n很小时是可以的。但当n稍大时,计算工作量将以惊人的速度增大,并且由于计算带有误差,方程(2)未必是精确的特征方程,自然就不必说求解方程(2)与(3)的困难了。幂法是一种计算矩阵主特征值(矩阵按模最大的特征值)及对应特征向量的迭代方法,特别是用于大型稀疏矩阵。反幂法是计算海森伯格阵或三角阵的对应一个给定近似特征值的特征向量的有效方法之一。
k=k+1;
end
在matlab输入面板,输入
A=rand(4);%产生一个4维随机矩阵
B=A+A’;
u=[1 1 1 1]’;%设立初始向量
[m,u,index,k]=pow(B,u,ep,it_max)%最多可省略2个参数
程序结束。
在M文件中可以通过改变m0的值改变原点位移,从而达到原点位移加速。
幂法是用来确定矩阵的主特征值的一种迭代方法,也即,绝对值最大的特征值。稍微修改该方法,也可以用来确定其他特征值。幂法的一个很有用的特性是它不仅可以生成特征值,而且可以生成相应的特征向量。实际上,幂法经常用来求通过其他方法确定的特征值的特征向量。
1、幂法的迭代格式与收敛性质
设n阶矩阵A的特征值,,…,是按绝对值大小编号的,x (i=1,2,…,n)为对应的特征向量,且为单根,即
所以线性方程组(3)改为
Ly=u,Uv=y
四、算法程序设计代码
幂法程序,在matlab中建立一个M文件并保存。
%pow.m
function [m,u,index,k]=pow(A,u,ep,it_max)
if nargin<4
it_max=1000;
end
if nargin<3
ep=1e-5;
end
||>||≥…≥||
则计算最大特征值与特征向量的迭代格式为
v=Au,m=max(v), u= v m(1)
其中max(v)表示向量v绝对值的最大分量。
2、对于幂法的定理
按式(1)计算出m和u满足
m=, u=
(二)反幂法算法的理论依据及推导
反幂法是用来计算绝对值最小的特征值忽然相应的特征向量的方法。是对幂法的修改,可以给出更快的收敛性。
(此文档为word格式,下载后您可任意编辑修改!)
题目
幂法和反幂法求矩阵特征值课程设计




随机产生一对称矩阵,对不同的原点位移和初值(至少取3个)分别使用幂法求计算矩阵的主特征值及主特征向量,用反幂法求计算矩阵的按模最小特征值及特征向量,并比较不同的原点位移和初值说明收敛。
要求
1.认真读题,了解问题的数学原形;
反幂法程序设计代码:
在matlab中建立一个M文件并保存。
%pow_inv.m
function[m,u,index,k]=pow_inv(A,u,ep,it_max)
if nargin<4
it_max=1000;
Hale Waihona Puke endif nargin<3
ep=1e-5;
end
n=length(A);
index=0;
1、反幂法的迭代格式与收敛性质
设A是非奇异矩阵,则零不是特征值,并设特征值为
||≥||≥…≥||>||
则按A的特征值绝对值的大小排序,有
||>||≥…≥||
对A实行幂法,就可得A的绝对值最大的特征值1和相应的特征向量,即A的绝对值最小的特征值和相应的特征向量。
由于用A代替A作幂法计算,因此该方法称为反幂法,反幂法的迭代格式为v= Au,m=max(v), u= v m(2)
(2)对A作LU分解,即A=LU
(3)解线性方程组Ly=u,Uv=y
(4)计算
m=max(v), u= v m
(5)若|m=m|<,则停止计算(1m作为绝对值最小特征值,u作为相应的特征向量);否则置k=k+1,转(3).
幂法流程图:
反幂法流程图
三、算法的理论依据及其推导
(一)幂法算法的理论依据及推导
k=0;
m1=0;
m0=0;
I=eye(n);
T=A-m0*I;
invT=inv(T);
while k<=it_max
v=invT*u;
[vmax,i]=max(abs(v));
m=v(i);
u=vm;
if abs(m-m1)<ep
index=1;
break;
end
m1=m;
k=k+1;
end
m=1m;
n=length(A);
index=0;
k=0;
m1=0;
m0=0;
I=eye(n);
T=A-m0*I;
while k<=it_max
v=T*u;
[vmax,i]=max(abs(v));
m=v(i);
u=vm;
if abs(m-m1)<ep;
index=1;
break;
end
m=m+m0;
m1=m;
二.算法设计及流程图
1、幂法算法
(1)取初始向量u(例如取u=(1,1,…1)),置精度要求,置k=1.
(2)计算
v=Au,m=max(v), u= v m
(3)若| m= m|<,则停止计算(m作为绝对值最大特征值,u作为相应的特征向量)否则置k=k+1,转(2)
2、反幂法算法
(1)取初始向量u(例如取u=(1,1,…1)),置精度要求,置k=1.
2、对于反幂法的定理
按式(2)计算出的m和u满足:
m=, u=
在式(2)中,需要用到A,这给计算带来很大的不方便,因此,把(2)式的第一式改为求解线性方程组
A v= u(3)
但由于在反幂法中,每一步迭代都需求解线性方程组(3)式,迭代做了大量的重复计算,为了节省工作量,可事先把矩阵A作LU分解,即A=LU
相关文档
最新文档