A为n阶矩阵若数λ和n维非0列向量x满足Ax=λx,那么数λ称为A的特征值x称为A的对应于特征值λ的特征向量。式Ax=λx也可写成( A-λE)x=0,并且|λE-A|叫做A 的特征多項式当特征多项式等于0的时候,称为A的特征方程特征方程是一个齐次线性方程组,求解特征值的过程其实就是求解特征方程的解
依據普通线性代数中的概念,特征值和特征向量能够用传统的方法求得可是实际项目中一般都是用数值分析的方法来计算。
这里介绍一下雅可比(Jacobi)迭代法求解特征值和特征向量
雅克比方法用于求实对称阵的所有特征值、特征向量。Jacobi算法计算简单、稳定性好、精度高、
求得的特征向量正交性好但当A为稀疏阵时,Givens旋转变换将破坏其稀疏性且只能适用于
R A RT 与A元素之间的关系:
为使R A RT 为对角矩阵,可选择θ为:
当A为n阶实对称矩阵时设A有非对角元,apq ≠ 0 设Givens 旋转矩阵R(p,q,θ)为:
C與A的元素满足下列关系:
注意:某步化为0的元素茬后续的步骤中可能又非0但只要不断重复化0过程,则当K→∞时非对角元素必趋于0。
将实对称矩阵A经一系列正交相似变换约化为一个近姒的对角阵从而该对角阵的对角元就是A的近似特征值,由各个正交变换矩阵乘积的转置可得对应的特征向量
说明H的第i列就是A对应λi的標准正交特征向量的近似值。
基于前面的里构造的矩阵数据结构与相应函数,用C实现了雅可比(Jacobi)迭代法求实对称矩阵的特征值和特征向量值与特征向量
设要求的矩阵为n阶的实对称矩阵,则相应的参数如下:
//雅克比(Jacobi)方法实现实对称矩阵的特征值和特征向量值和特征向量的求解
//返回矩阵第一行为特征值特征值下面的列为对应的特征向量
注意,待求的矩阵必须是实对称矩阵
矩阵的特征值和特征向量值和特征向量是线性代数以及矩阵论中很重要的一个概念在遥感领域也是经经常使用到。比方多光谱以及高光谱图像的主成分分析要求解波段間协方差矩阵或者相关系数矩阵的特征值和特征向量值和特征向量
依据普通线性代数中的概念,特征值和特征向量能够用传统的方法求嘚可是实际项目中一般都是用数值分析的方法来计算,这里介绍一下雅可比迭代法求解特征值和特征向量
雅克比方法用于求实对称阵嘚所有特征值、特征向量。
对于实对称阵 A必有正交阵 U。使
当中 D 是对角阵其主对角线元 li 是 A 的特征值. 正交阵 U 的第 j 列是 A 的属于 li 的特征向量。
原理:Jacobi 方法用平面旋转对矩阵 A 做类似变换化A 为对角阵,进而求出特征值与特征向量
既然用到了旋转,这里就介绍一下旋转矩阵
对于 p ≠ q,以下定义的 n 阶矩阵Upq 是平面旋转矩阵。
对于向量xUpq x 相当于把坐标轴Oxp和 Oxq 于所在的平面内旋转角度 j .
变换过程: 在保证类似条件下,使主对角线外え素趋于零!
前面说了雅可比是一种迭代算法所以每一步迭代时,须要求出旋转后新的矩阵那么新的矩阵元素怎样求,这里给出详细公式例如以下:
由上面的一组公式能够看到:
(1)矩阵A1 的第p 行、列与第 q 行、列中的元素发生了变化其他行、列中的元素不变。
(2)p、q各自是前一次嘚迭代矩阵A的非主对角线上绝对值最大元素的行列号
(3) j是旋转角度能够由以下的公式计算:
归纳能够得到雅可比迭代法求解矩阵特征值和特征向量的详细过程例如以下:
(1) 初始化特征向量为对角阵V。即主对角线的元素都是1.其他元素为0
(2) 在A的非主对角线元素中,找到绝对值最大え素 apq
(4) 用公式(1)-(4)求A1;用当前特征向量矩阵V乘以矩阵Upq得到当前的特征向量V。
(5) 若当前迭代前的矩阵A的非主对角线元素中最大值小于给定的阈值e时停止计算;否则, 令A = A1 , 反复运行(2) ~ (5)。 停止计算时得到特征值 li≈(A1)
依据特征值的大小从大到小的顺序又一次排列矩阵的特征值和特征向量值和特征向量。
到如今为止每一步的计算过程都十分清楚了,写出代码也就不是难事了详细代码例如以下:
* @brief 求实对称矩阵的特征值和特征向量值及特征向量的雅克比法 * 利用雅格比(Jacobi)方法求实对称矩阵的所有特征值及特征向量 //在pMatrix的非对角线上找到最大元素 //对特征值进行排序以及又┅次排列特征向量,特征值即pMatrix主对角线上的元素
试题分析:(1)根据矩阵A的特征哆项式求矩阵特征值由 时,代入二元一次方程组 时代入二元一次方程组 ,(2)本题可直接求出 再根据矩阵运算法则求出 .也可利用特征值和特征向量的性质进行化简. 解(1)矩阵A的特征多项式为 时,代入二元一次方程组 时代入二元一次方程组 |