Jacobi 方法
来源:互联网 发布:java定义整形数组 编辑:程序博客网 时间:2024/05/29 08:40
第三节 Jacobi 方法(http://wenku.baidu.com/view/6023207e168884868762d644.html)比较详细的地址
Jacobi方法是求对称矩阵的全部特征值以及相应的特征向量的一种方法,它是基于以下两个结论
1) 任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q,使得
QT AQ = diag(λ1 ,λ2 ,…,λn ) (3.1)
其中λi(i=1,2,…,n)是A的特征值,Q中各列为相应的特征向量。
2) 在正交相似变换下,矩阵元素的平方和不变。即设A=(aij)n×n ,Q交矩阵,记B=QT AQ=(bij)n×n , 则
Jacobi方法的基本思想是通过一次正交变换,将A中的一对非零的非对角化成零并且使得非对角元素的平方和减小。反复进行上述过程,使变换后的矩阵的非对角元素的平方和趋于零,从而使该矩阵近似为对角矩阵,得到全部特征值和特征向量。
1 矩阵的旋转变换
设A为n阶实对称矩阵,考虑矩阵
易见 Vij(φ)是正交矩阵, 记
注意到B=Vij A的第i,j行元素以及 的第i,j列元素为
可得
如果aij≠0,取φ使得 则有
对A(1) 重复上述的过程,可得A(2) ,这样继续下去, 得到一个矩阵序列{A(k) }。可以证明, 虽然这种变换不一定能使矩阵中非对角元素零元素的个数单调增加,但可以保证非对角元素的平方和递减,我们以A与A(1) 为例进行讨论。
设 由式(3.4)
可得
这表明,在上述旋转变换下,非对角元素的平方和严格单调递减,因而由(3.2)可知,对角元素的平方和单调增加。
2. Jacobi方法
通过一系列旋转变换将A变成A(k+1) ,求得A的全部特征值与特征向量的方法称为Jacobi方法。计算过程如下
1)令k=0, A(k) =A
2) 求整数i,j, 使得
3) 计算旋转矩阵
4) 计算A(k+1)
5) 计算
6) 若E(A(k+1))<ε, 则
为特征值,
QT = (V(0) V(1) …V(k+1))T
的各列为相应的特征
向量;否则,k+1=>k
返回2,重复上述过程。
例5 用Jacobi方
法求矩阵
的特征值和特征向量。
一般地,Jacobi法不能在有限步内将A化成对角阵,但有下面的定理 。
定理3 设A为n阶使对称矩阵,对A用Jacobi法得到序列{A(k) }, 其中A(0) = A, 则
证明 由Jacobi法计算过程
故有
(3.5)
另一方面,有计算A 的公式可以得到
于是有, 代入式(3.5)得
因为 所以
- Jacobi 方法
- Jacobi方法
- jacobi
- jacobi
- Jacobi 方法计算特征值特征向量
- Gauss–Seidel方法和Jacobi 方法
- Jacobi方法求实对称矩阵的特征值和特征向量
- Jacobi方法求实对称矩阵的特征值和特征向量
- Jacobi迭代法
- 线性方程的Jacobi迭代法
- 求解线性方程组--Jacobi迭代法
- jacobi迭代算法
- Jacobi 迭代法 解方程
- Jacobi迭代法求解方程组
- Jacobi Gauss-Seidel迭代法
- Jacobi迭代法求线性方程组
- jacobi迭代法求解线性方程组
- 矩阵特征分解介绍及雅克比(Jacobi)方法实现特征值和特征向量的求解(C++/OpenCV/Eigen)
- KERNEL REQUIRES AN X86-64 CPU, BUT ONLY DETECTED AN I686 CPU
- newlisp 监控Linux进程 一
- LeetCode Copy List with Random Pointer 分析解答
- 解析linux根文件系统的挂载过程
- fstat、stat和lstat 区别(转)
- Jacobi 方法
- Android开发中遇到的错误
- java 下载文件 兼容 ie 火狐 google 浏览器 ,解决下载文件乱码问题
- Method Swizzling
- Tomcat 配置(解决一闪而过的问题)
- hama程序出现Messages must never be behind the vertex in ID问题解决
- HDU 2044 一只小蜜蜂... 斐波那契问题 2041 超级楼梯
- C++不适合再去投资了
- 在Jmeter中使用自定义编写的Java测试代码