(转)QR分解求矩阵的全部特征值
QR算法求矩阵全部特征值的基本思想是利用矩阵的QR分解通过迭代格式
将A=A1化成相似的上三角阵,从而求出矩阵A的全部特征值。
QR方法的计算步骤如下:
下面就依次进行介绍。
一. 将一般矩阵化为上Hessenberg阵
1.定义
一个矩阵如果满足i>j+1时aij=0,则将这个矩阵成为上Hessenberg阵。上Hessenberg阵
的形式如下:
2. Householder变换将一般矩阵转化为上Hessnberg阵
首先,选取Householder矩阵H1,使得经过H1相似变换后的矩阵H1AH1的元素a21下面的
元素全部为0,即a31, a41, ....., am1均为0,H1取如下形式
其中 为n-1阶HouseHolder矩阵。然后选取Householder矩阵H2,使得经过H2相似变换
之后的矩阵H2(H1AH1)H2第二列中a32下面的a42, ....am2均为0。如此进行n-2次,可以构造
n-2个householder矩阵H1,H2, Hn-2,使得 Hn-2....H2H2AH1H2....Hm-2 = H(H为上Hessenberg矩阵)。
对于一个n*m的矩阵A,第col次的H可以这样构造求得(col从0开始):
其中,I为n*n的单位矩阵, v'表示矩阵v的转置, sign(x0)表示x0的符号的相反数( 当x0>0时sign=-1,当x<=0时为1),
||x||表示向量x的长度, col等于所求的上hessenberg矩阵的序号,从0开始。
二. 用Givens变换对上hessnberg矩阵作QR分解
此时有 H = R21' * R32' * ... * Rn(n-1)'R = QR。
多次计算H,直到H的变化小于一个较小的阈值时,停止迭代,此时H主对角线上的元素
即为矩阵A的全部特征值。
下面举个例子来说明求解矩阵的全部特征值的过程。
求矩阵的全部特征值
首先将A化成上hessenberg阵,取
x = [0, 6, 4], 则 ||x|| = =
则 w = [0, , 0] , v = w + 1 * x = [0, 6+, 4]
则 p = v*v'/v'*v =
于是 H1 = I - 2*p =
所以 H = H1AH1 =
H即为与A相似的上hessenberg矩阵。将H进行QR分解
这个程序的完整代码可以到这里下载,http://download.csdn.net/detail/xxc1605629895/6473181
(转)QR分解求矩阵的全部特征值相关推荐
- QR分解求矩阵特征值、特征向量 C语言
最近在看一个高光谱图像压缩算法,其中涉及到正交变换,计算正交变换时,需要对普通矩阵求其特征向量.想要在网上找一个现成的程序,可能是我百度的能力不强吧,居然真的没找见.好了废话不多说,下面进入正题. 计 ...
- QR分解求矩阵全部特征值
QR算法求矩阵全部特征值的基本思想是利用矩阵的QR分解通过迭代格式 将A=A1化成相似的上三角阵,从而求出矩阵A的全部特征值. QR方法的计算步骤如下: 下面就依次进行介绍. 一. 将一般矩阵化为上H ...
- 【matlab】 QR分解 求矩阵的特征值
"QR_H.m"function [Q,R] = QR_tao(A) %输入矩阵A %输出正交矩阵Q和上三角矩阵R [n,n]=size(A); E = eye(n); X = z ...
- QR分解求矩阵绝对值-基于HouseHolder变换
思路: 输入矩阵A(mxn)-->HouseHolder变换-->获得矩阵B(Hessenberg矩阵nxn)-->Gievens变换 -->获得Q(标准正交nxn)和R(上三 ...
- C语言通过QR分解计算矩阵的特征值和特征向量
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <time.h>// ...
- 双步位移求解特征值matlab,数值分析——带双步位移的QR分解求特征值算法
C语言实现数值分析中带双步位移的QR分解求特征值算法. 数 值 分 析(B) 大 作 业(二) 1.算法设计: ①矩阵的拟上三角化: 对实矩阵A进行相似变换化为拟上三角矩阵A(n 1),其变换矩阵采用 ...
- qr分解求线性方程组_矩阵分解
矩阵分解 1. 矩阵的三角分解 1.1 高斯消去法解线性方程组 在聊起矩阵分解之前,先看一下我们小学二年级就学过的高斯消去法解线性方程组,其主要思想就是:将方程组写作写作增广矩阵(A|b)的形式,然后 ...
- 【机器学习】用QR分解求最小二乘法的最优闭式解
[机器学习]用QR分解求最小二乘法的最优闭式解 写在前面 QR分解 定义 QR的求解 线性回归模型 用QR分解求解最优闭式解 矩阵的条件数 实验 运行结果 写在前面 今天刷知乎,看到张皓在面试官如何判 ...
- 豪斯荷尔德变换 matlab,隐式QR法求实矩阵的全部特征值matlab实现
隐式QR法求实矩阵的全部特征值matlab实现 隐式QR法求实矩阵的全部特征值matlab实现 要求:用matlab编写通用子程序,利用隐式QR法求实矩阵的全部特征值和特征向量. 思想:隐式QR法实质 ...
最新文章
- John the Ripper
- Linux Kernel TCP/IP Stack — L2 Layer — Traffic Control(流量控制)的基本操作
- 惠普战66怎么用u盘进入系统_惠普笔记本怎么用u盘启动装系统,空间也要大所以超来超受欢迎!...
- 通过SmartGit把java maven项目传到码云
- MySQL——MHA原理介绍及VIP配置
- php微信上传图文素材,php使用curl 上传微信公共平台素材文件
- php根据键值排序,数组根据某个键值排序
- Mybatis(一) 主配置文件
- 手把手教你玩转OpenWRT路由器系统,视频教程合集
- 海思HI3516A千兆网卡换百兆网卡配置方法
- java2048小游戏源码及解析_200行java代码实现2048小游戏
- 基于卡方的独立性检验
- 撕开市场缺口,认养一头牛“犟心”能给谁?
- 车牌识别停车系统无法链接服务器,停车场车牌识别系统识别不了的处理方法有哪些?...
- 半身全身发型替换之一: 方法调研以及相关问题
- 微服务架构在阿里的演化
- mysql读提交和重复读区别_读已提交和可重复读的区别 命令行测试
- 三秒教会你如何使用scrcpy手机无线投屏到电脑
- Android Studio开发环境
- 2.4G无线收发模块的应用