如何理解Householder变换和Givens矩阵旋转变换公式

相关文章推荐
0x00 需求完成课堂上讲的关于矩阵分解的
· QR(Gram-Schmidt)
· Orthogonal Reduction
Householder reduction...
关于如何求一个矩阵A的特征向量X和特征值λ,在上学时我们通常使用如下方法:
AX =λX =λIX (I:单位阵)
最近在做波达方向的估计的研究,其中涉及到了奇异矩阵的逆,直接通过matlab中的pinv()和inv()计算得到的结果误差较大,于是就诞生了这篇文章,当然,全文并非全部原创。奇异矩阵的求逆主要有三种方...
在最近做的一个研究中,需要对 QR 分解进行更新,因此了解了一些关于 QR 分解和 Givens 旋转的内容。在这里进行总结。...
机器学习中的矩阵方法02:正交
说明:Matrix Methods in Data Mining and Pattern Recognition 读书笔记
1. 正交的一些概念和性质
PCA(Principal Component Analysis,主成分分析)是一种很常用的根据变量协方差对数据进行降维、压缩的方法。它的精髓在于尽量用最少数量的维度,尽可能精确地描述数据。
用 LaTeX 写漂亮学位论文(from wloo)
一直觉得有必要写这样一篇文章,因为学位论文从格式上说更像一本书,与文章 的排版不同,不仅多出目录等文章没有的部分,而且一般要设置页眉页脚方...
他的最新文章
讲师:董晓杰
讲师:姚远
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
人生一年又一年,只要每年都有所积累,有所成长,都有那么一次自己认为满意的花开时刻就好。即使一时不顺,也要敞开胸怀。生命的荣枯并不是简单的重复,一时的得失不是成败的尺度。花开不是荣耀,而是一个美丽的结束,花谢也不是耻辱,而是一个低调的开始。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
%% 1. QR Decomposition Algorithm Using Givens RotationsA = [3 14 9;6 43 3;6 22 15];[m, n] = size(A);Q = eye(m);R = A;for j = 1:n % each column& & for i = m:-1:(j+1)& & & & G = eye(m);
% -------------------------------------------& & & & a = R(i-1, j); b = R(i, j);& & & & if b == 0& & & & & & c = 1;& & & & & & s = 0;& & & & else& & & & & & if abs(b) & abs(a)& & & & & & & & r = a /& & & & & & & & s = 1 / sqrt(1 + r^2);& & & & & & & & c = s*r;& & & & & & else& & & & & & & & r = b /& & & & & & & & c = 1 / sqrt(1 + r^2);& & & & & & & & s = c*r;& & & & & & end& & & & end& & & & % -------------------------------------------& & & & G([i-1, i], [i-1, i]) = [c -s; s c]; % caveat: here is [Tij]'& & & & R = G'*R; % caveat: G' corresponds to [Tij]& & & & Q = Q*G;& & endend%% 2. QR Decomposition Algorithm Using Householder transformationA = [3 14 9;6 43 3;6 22 15];[m, n] = size(A);R = A;Q = eye(m);for k = 1:n - 1& & x = R(k:m, k);& & e = zeros(length(x), 1); e(1) = 1;& & u = x - norm(x)*e;& & u = u./norm(u); H = (eye(length(u)) - 2*u*u');& & R(k:m, k:n) = H*R(k:m, k:n); G = blkdiag(eye(k-1), H); % H = H', The Householder matrix is Hermitian. Q = Q*G; % G denotes a tranposed Householder matrix& & U(k:m, k) =end
阅读(1003)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_082',
blogTitle:'阿英讲Givens变换和Householder变换实现QR分解',
blogAbstract:'即以此功德,庄严佛净土。上报四重恩,下济三途苦。惟愿见闻者,悉发菩提心。在世富贵全,往生极乐国。%% 1. QR Decomposition Algorithm Using Givens RotationsA = [3 14 9;6 43 3;6 22 15];[m, n] = size(A);Q = eye(m);R = A;for j = 1:n % each column& & for i = m:-1:(j+1)& & & & G = eye(m);',
blogTag:'householder,matlab,givens',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:3,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'人生一年又一年,只要每年都有所积累,有所成长,都有那么一次自己认为满意的花开时刻就好。即使一时不顺,也要敞开胸怀。生命的荣枯并不是简单的重复,一时的得失不是成败的尺度。花开不是荣耀,而是一个美丽的结束,花谢也不是耻辱,而是一个低调的开始。',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}扫码下载官方APP
数值线性代数
本课程是信息与计算科学专业基础课程。数值线性代数又称矩阵计算,数值线性代数研究的主要目的是如何针对各类科学与工程问题所提出的矩阵计算的特点,设计出相应的快速可靠的算法。本课程主要学习解线性方程组的直接解法、迭代解法、最小二乘问题的解法、共轭梯度法、特征值问题的计算方法等。
掌握求解线性方程组、最小二乘及特征值问题数值算法
课堂测试与作业占30%、讨论占10%、期末考试占60%,按百分制计分,60分至80分为合格、80分以上至100分为优秀。
线性代数或高等代数
《数值线性代数》课程教学大纲&总学时数:72+18&&&&&&&&&&&&&&&&&&&&&& 学分:4&&&& &&&&&&&&&&&&&&&&&&& 适用专业:信息与计算科学一、本课程的性质、目的和任务本课程是信息与计算科学专业基础课程。数值线性代数又称矩阵计算,数值线性代数研究的主要目的是如何针对各类科学与工程问题所提出的矩阵计算的特点,设计出相应的快速可靠的算法。二、课程教学的基本要求要求学生既要注重基础理论又要注重实践。掌握算法的设计思想和设计方法,完成主要算法的程序设计。三、课程教学内容第一章& 绪& 论。(2学时)1、教学基本要求。了解数值方法的必要性,实现数值计算的过程。总教学时数2学时。2、教学内容。&&&& 数值线性代数的基本问题,研究数值方法的必要性,矩阵分解是设计算法的主要技巧,敏度分析与误差分析,算法复杂性与收敛速度,算法的软件实现与现行数值线性代数软件包,符号说明。3、教学重点与难点。重点:数值线性代数的基本问题,研究数值方法的必要性,矩阵分解是设计算法的主要技巧等。难点:敏度分析与误差分析,算法复杂性与收敛速度。第二章 线性方程组的直接解法。1、教学基本要求。&& 用计算机求解线性方程组。教学时数12学时,上机时数4学时。2、教学内容。三角形方程组和三角分解(4学时),选主元三角分解(4学时),平方根法(2学时),分块三角分解(2学时)。上机求解线性方程组的解(4学时)。3、教学重点与难点。Gauss消去法解线性方程组,平方根法解线性方程组。第三章 线性方程组的敏度分析与消去法的舍入误差分析1、教学基本要求。会进行误差分析和改进精度。教学时数8学时。2、教学内容。& & &向量范数与矩阵范数(4学时);线性方程组的敏度分析,基本运算的舍入误差分析(2学时);列主 & & & & && & &元Gauss消去法的舍入误差分析(2学时)。3、教学重点与难点。向量范数与矩阵范数,敏度分析和舍入误差分析。& &第四章 最小二乘问题的解法& & & &1、教学基本要求   & & &要求掌握求解最小二乘问题的方法。教学用时10学时,上机2学时& & & &2、教学内容& & & & & &讲授:最小二乘问题(4学时),正交变换(4学时),正交化方法(2学时)。& & & & & &上机:编程计算方程组最小二乘解(2学时)。& & & &3、教学重点与难点。& & & & & &正交变换,正交化方法。& & & &4、小结算法程序设计。& &第五章线性方程组的古典迭代解法& & & &1、教学基本要求。& & & & & 学会用迭代法求解大型的稀疏方程组。讲授12学时,上机4学时。& & & &2、教学内容。& & & & & 讲授:Jacobi迭代和Gauss-Seidel迭代(2学时),迭代法的收敛性分析(4学时),收敛速度(2学& & & & & 时),超松驰迭代法(4学时)。& & & & & 上机:编程实现迭代法求解线性方程组(4学时)。& & & &3、教学重点与难点。& & & & & Jacobi迭代,Gauss-Seidel迭代,超松驰迭代法。& &第六章共轭梯度法& & & &1、教学基本要求。& & & & &学会共轭梯度法解大型稀疏线性方程组。讲授10学时,上机2学时。& & & &2、教学内容。& & & & &讲授:最速下降法(2学时),共轭梯度法及其性质(2学时),实用共轭梯度法及其收敛性(2学时),预& & & & &优共轭梯度法(2学时),Krylov子空间法(2学时)。& & & & &上机:编程求解正定线性方程组(2学时)。& & & 3、教学重点与难点。& & & & &&共轭梯度法及其性质。& 第七章非对称特征值问题的计算方法& & & 1、教学基本要求& & & &&掌握计算矩阵特征值及特征向量的算法。讲授用时12学时,上机4学时。& & & 2、教学内容& & & & &讲授:基本概念和性质(2学时);幂法(2学时);反幂法(2学时);QR方法(6学时)& & & & &上机:编程计算矩阵特征值问题(4学时)。& & & 3、教学重点和难点& & & & &QR方法。& &第八章对称特征值问题的计算方法& & & 1、教学基本要求& & & &&掌握计算对称矩阵特征问题的计算方法。讲授用时6学时,上机2 学时。& & & 2、教学内容& & & & 讲授:基本性质(2学时),对称QR方法(2学时),Jacobi方法及二分法(2学时)。& & & &上机:编程计算对称特征值问题(2学时)。& & &3、教学重点和难点& & & &对称QR方法,Jacobi方法及二分法。四、本课程与其它课程的关系:& & &本课程是信息与计算科学专业的一门基础课,以高等代数为基础。五、教学时数分配《数值线性代数》课程教学时数分配表总学时:72+18&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 学分:4章次各章标题名称讲授学时实验(实践)学时辅导学时备注&绪论2&&&第一章线性方程组的直接算法124&&第二章线性方程组的敏度分析与消去法的舍入误差分析8&&&第三章最小二乘问题的算法102&&第四章线性方程组的古典迭代法124&&第五章共轭梯度法102&&第六章非对称特征值问题的计算方法124&&第七章对称特征值问题的计算方法62&&六、实验内容与学时分配序号实验项目名称学时实验类型(验证、综合、设计)是否为开放实验备注1LU分解,列(全)主元LU分解,Cholesky分解2验证&&2Gauss列(全)主元消去法,正定方程消去法2程序设计&&3Householder变换,Givens变换,QR分解2程序设计&&4Jacobi迭代,Gauss-Seidel迭代,SOR迭代4程序设计&&5最速下降法,共轭梯度法,预先共轭梯度法2程序设计&&6幂法,Hessenberg分解,双重步位移QR迭代4程序设计&&7三对角分解,Jacobi算法2程序设计&&&七、教材及参考书&选用徐树方等编《数值线性代数》,北京大学出版社。参考书目:(1)曹志浩,矩阵特征值问题,上海科学技术出版社,1980。(2)冯国忱,刘经伦,数值代数基础,吉林大学出版社,1991。(3)徐树方,矩阵计算的理论与方法,北京大学出版社,1995。八、主要教学方法与媒体要求课堂授课采用多媒体教学,采用由浅入深、循序渐进学习步骤,达到学必用、学即用,提高学生的学习兴趣。从而加深学生对理论课的理解,提高学生的动手能力。
教材为徐树方等编《数值线性代数》,北京大学出版社。参考书目:(1)曹志浩,矩阵特征值问题,上海科学技术出版社,1980。(2)冯国忱,刘经伦,数值代数基础,吉林大学出版社,1991。(3)徐树方,矩阵计算的理论与方法,北京大学出版社,1995。
汇聚各省在线开放课程,促进优质教育资源共享。
| 京ICP备号-2 |
icourse163.org[源码] [原创]基于Householder变换QR分解Matlab代码 - MATLAB的日志,人人网,MATLAB的公共主页
好久不发状态了,大家还在吗?还在学习MATLAB么?
[源码] [原创]基于Householder变换QR分解Matlab代码
&function [Q,R]=qrhs(A)% 基于Householder变换,将方阵A分解为A=QR,其中Q为正交矩阵,R为上三角阵%% 参数说明% A:需要进行QR分解的方阵% Q:分解得到的正交矩阵% R:分解得到的上三角阵%% 实例说明% A=[-12 3 3;3 1 -2;3 -2 7];% [Q,R]=qr(A) % 调用MATLAB自带的QR分解函数进行验证% [q,r]=qrhs(A) % 调用本函数进行QR分解% q*r-A % 验证 A=QR% q'*q % 验证q的正交性% norm(q) % 验证q的标准化,即二范数等于1% % 线性代数基础知识% 1.B=P*A*inv(P),称A与B相似,相似矩阵具有相同的特征值% 2.Q*Q'=I,称Q为正交矩阵,正交矩阵的乘积仍为正交矩阵% % 注意:我们也可以基于Givens变换,对方阵A进行QR分解,但是相对繁琐些,参见/thread-.html%% by dynamic of Matlab技术论坛% see also % contact me %
22:49:51%n=size(A,1);R=A;Q=eye(n);for i=1:n-1
x=R(i:n,i);
y=[1;zeros(n-i,1)];
Ht=householder(x,y);
H=blkdiag(eye(i-1),Ht);
R=H*R;end&
上面的代码需要调用下面的Householder函数function [H,rho]=householder(x,y)% 求解正交对称的Householder矩阵H,使Hx=rho*y,其中rho=-sign(x(1))*||x||/||y||%% 参数说明% x:列向量% y:列向量,x和y必须具有相同的维数%% 实例说明% x=[3 5 6 8]';% y=[1 0 0 0]';% [H,rho]=householder(x,y);% H*x-rho*y % 验证Hx=rho*y% H'*H % 验...
阅读(6537)|
人人移动客户端下载}

我要回帖

更多关于 矩阵旋转变换公式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信