之前介绍的矩阵的三角分解系列介绍了利用矩阵初等变换解决了矩阵三角化问题以及具体的三角分解。但是以初等变换工具的三角分解方法并不能消除病态线性方程组不稳定问题,而且有时候对于可逆矩阵有可能也不存在三角分解。所以后面为了解决这里问题,发展出来了以正交(酉)变换的矩阵的QR(正交三角)分解,矩阵的正交三角分解是一种对任何可逆矩阵均存在理想分解。进行QR分解需要用到施密特(Schmidt)正交规范化,吉文斯(Givens)变换和豪斯霍尔德(Householder)变换等。这里矩阵的QR分解系列教程主要是针对在学习QR分解时候的涉及到的一些细节,包括很多方法的来源和证明等,以及其中用到的一些矩阵操作的基础知识,主要包括:
这个系列后面文章会用到前面文章的理论和技术,所以建议按照顺序查看。
简介
上面介绍的都是QR分解的基础知识,可以了解每种QR分解方法具体含义,推导的过程以及适用的范围,有了前面的介绍其实自己去实现相应的QR分解方法也变得非常的简单。但在实际使用过程中,很少自己去实现这种复杂的矩阵QR分解,大部分情况下都是调用现成的矩阵运算的算法库。这里介绍比较常用的矩阵运算库Eigen的QR分解的一些使用方法。
QR分解函数
Eigen库中主要包含下面这些QR函数
分解方法
Eigen函数
适用矩阵
分解公式
Eigen::HouseholderQR
任意矩阵
A = Q R A=QRA=QR
Eigen::ColPivHouseholderQR
任意矩阵
A = Q R A=QRA=QR
Eigen::FullPivHouseholderQR
任意矩阵
A = Q R A=QRA=QR
使用范例
待续~~~
本文同步分享在 博客“无比机智的永哥”(优快云)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
本文详细讲解了QR分解的基本原理,包括正交(酉)变换的QR分解方法,施密特规范化、吉文斯变换和豪斯霍尔德变换的应用。重点介绍了Eigen库中常用的QR分解函数,并提供了使用范例,适合理解矩阵操作和实际编程应用。
710

被折叠的 条评论
为什么被折叠?



