用Givens旋转进行矩阵QR分解
不多废话,直接贴代码
function [A_, T_, T] = my_qr_givens( A )
%利用givens旋转进行qr分解
%输出
%A_ 每次变换后的A矩阵
%T_ 对应于A_的变换矩阵A_ = sym([]);T_ = sym([]);A = sym(A);n = size(A,1);T = sym(eye(n));sum = 1;for j = 1:n-1 %从第一列到第n-1列,全部变换到第j列第j个元素上for i = j+1:n %从第j+1行到第n行if A(i,j) ~= 0r = (A(j,j)*A(j,j)'+ A(i,j)*A(i,j)')^(1/2);%r = simplify(sym(real(A(j,j))^2 + imag(A(j,j))^2 + real(A(i,j))^2 + imag(A(i,j))^2)^(1/2));T_(:,:,sum) = eye(n);T_(j,j,sum) = A(j,j)/r;T_(i,i,sum) = A(j,j)/r;T_(j,i,sum) = A(i,j)/r;T_(i,j,sum) = -A(i,j)/r;A_(:,:,sum) = T_(:,:,sum)*A;T = simplify(T_(:,:,sum)*T);A = A_(:,:,sum);sum = sum + 1;endendend
end
用Givens旋转进行矩阵QR分解相关推荐
- Python+numpy实现矩阵QR分解
感谢广东东软学院计算机系赵晨杰老师的交流. 如果实(复)非奇异矩阵A能够化成正交(酉)矩阵Q与实(复)非奇异上三角矩阵R的乘积,即A=QR,则称其为A的QR分解. Python扩展库numpy实现了矩 ...
- Julia 矩阵QR分解和特征值
Julia 矩阵QR分解和特征值 前言 1. 施密特正交 (1) 利用施密特正交求出正交矩阵Q (2) 求出上三角矩阵R (3) 改进的消减QR分解 2. 完全QR分解 3. 矩阵QR分解的作用 (1 ...
- QR算法的Matlab 程序,三种实现矩阵QR分解的算法与程序
To learn, to share, to debate, then comes progress. ------------------------------------------------ ...
- r语言中矩阵QR分解_R语言常用的矩阵操作
R语言是一门非常方便的数据分析语言,它内置了许多处理矩阵的方法.下面列出一些常用的矩阵操作方法示例. 矩阵的生成 > mat <- matrix(1:16, ncol = 4, nrow ...
- 数值分析--矩阵QR分解的三种方法
QR分解法是目前求一般矩阵全部特征值的最有效并广泛应用的方法,一般矩阵先经过正交相似变化成为Hessenberg矩阵,然后再应用QR方法求特征值和特征向量.它是将矩阵分解成一个正规正交矩阵Q与上三角形 ...
- r语言中矩阵QR分解_从零开始学R语言Day4|向量、矩阵和数组
从零开始学R语言Day4|向量.矩阵和数组 1.1向量 1.1.1向量 在Day2中我们提及过用和c()函数来构建向量,具体实例如下. 我们还可以采用vector("类型",长度) ...
- 施密特正交化 对矩阵QR分解
- QR decomposition and Givens Rotation (QR分解与Givens旋转)
在最近做的一个研究中,需要对 QR 分解进行更新,因此了解了一些关于 QR 分解和 Givens 旋转的内容.在这里进行总结. QR 分解 所谓 QR 分解,就是将一个矩阵(可以不是方阵)分解成一个正 ...
- 矩阵的QR分解以及在最小二乘法中的应用
一.最小二乘法 最小二乘法是一种数学优化方法,通过最小化误差的平方和来拟合数据点. 以线性回归模型为例,如果我们用最小二乘法来求解线性回归的系数,可得: err(yi−y^)=1n∑i=1n( ...
最新文章
- java 之 学习过程中遇到的大佬博客
- 解决DataList控件无缝滚动图片(转)
- APK文件的解包打包和修改
- android Wifi开发相关内容
- 百度地图滚轮缩放,所在点偏移问题
- UI5 registerModulePath
- 30款非常酷的创意名片设计欣赏
- ACM/CF赛制getstart模板
- 持续集成部署Jenkins工作笔记0010---创建工程并配置源码管理
- .net 读取xml文件
- Sql Server 中利用游标对table 的数据进行分组统计式输出…
- 该网站可能含有恶意软件,有可能会危害您的电脑 清除办法
- C++中嵌入python程序——命令行模式
- 多线程与多进程之间比较
- huya虎牙小程序------真心话大冒险
- 判断一个数是否是素数
- html中http502怎么解决,Http Error 502 解决方法
- html中splice向数组添加元素,js中splice()的强大(删除,插入或替换数组的元素)
- PHP 中 GD库(以及Jpgraph库) 的配置和使用。(满屏荒唐言,一把辛酸泪)
- 基于C90标准的C语言开发工具