矩阵QR分解
1 orthonormal 向量与 Orthogonal 矩阵
orthonormal 向量定义为 ,任意向量 相互垂直,且模长为1;
如果将 orthonormal 向量按列组织成矩阵,矩阵为 Orthogonal 矩阵,满足如下性质:
;
当 为方阵时,为其逆矩阵;当 为长方形矩阵时,为其左逆;
当矩阵 Q 为正交矩阵时,对向量变换变换前后点积不发生改变,,证明如下:
,当 x = y 时,有 。
对任意向量 b ,可以分解为一组正交向量的线性组合,,要求解系数x,可先写成矩阵形式:
,, ;
因此,向量 b 可分解为 。
2 Gram-Schmidt 与 QR 分解
对矩阵 ,可以将其转换为正交矩阵 ,方法如下:
1)向量 方向保持不变,将其长度归一化, ;
2)向量 可分解为向量 投影分量与垂直于向量 的两分量,剔除投影分量得 ,;
3)同理,剔除向量 在 , 上投影分量得 , ;
4)依照如上方法,可以对所有向量完成正交化。
以上处理可以使用矩阵表示,矩阵 Q 为矩阵 A 的列进行线性变换结果,故可写为 A=QR 。
1)向量 与向量 具有相同方向,故可表示为 ;
2)向量 被分解为 方向向量,可表示为 ;
3)向量 被分解为 方向向量,可表示为 ;
4)综上表示为矩阵形式 。
3 求解 Ax=b
使用 Gram-Schmidt 可将矩阵 A 转换为正交矩阵 Q,正交矩阵 Q 可简化 Ax=b 运算:
1)最小二乘法求解 ;
2)带入 得 ,化简得 ;
3)不管长方形矩阵还是方阵,都有 ,故上式可化简为 ;
4)由于 R 为上三角矩阵,使用回代法即可求解。
4 函数空间
向量 QR 分解可以推广到函数,向量内积表示各分量乘积之和,对于连续函数可表示为 ,
函数长度可表示为 ,使用函数内积与函数长度定义,可以对函数按向量投影方法进行类似分解。
1)最小二乘法求解近似函数
给定函数 ,求解在区间 上的二阶近似函数 。
a. 令 ,表示在区间 上,对于任意 都有 ;
b. 使用最小二乘法得 , ;
c. 转换为积分得 ,可求解 k, b 。
2)Legendre polynomials
以上方程 使用高斯消元法求解,但随着多项式次数增加,消元法会产生很大的截断误差。
使用 Gram-Schmidt 方法,将各个多项式基转换为正交函数,可以简化运算。
设原始多项式基为 ,可做如下变换:
a. 保持第一个函数方向不变,对长度进行归一化处理,;
b. 函数 x 与函数 1 在区间 上正交,故仅需对长度归一化,;
c. 函数 与函数 x 和 1 在区间 上均不正交,减去投影分量使其正交,
,,
带入求解得 ;
d. 使用同样方式求得 , 。
通过以上函数基,任意多项式可以改写为以上函数基的线性组合。当仅使用几个低阶函数基表示时,类似线性代数投影近似。
对给定函数 ,求解在区间 上的二阶近似函数 使用多项式函数基求解如下:
函数 在 上投影为:
;
整理得 。
3)傅里叶级数
函数的傅里叶级数使用三角函数为基线性展开,三角函数是互相正交的,当进一步对其归一化后构成一组函数基。任意函数被三角函数分解为:
,对应系数为函数与归一化三角函数内积
,。
参考资料 Linear Algebra And Its Applications Gilbert Strang
Gram-Schmidt for functions: Legendre polynomials S. G. Johnson, MIT course 18.06
矩阵QR分解的更多相关文章
- 机器学习中的矩阵方法03:QR 分解
1. QR 分解的形式 QR 分解是把矩阵分解成一个正交矩阵与一个上三角矩阵的积.QR 分解经常用来解线性最小二乘法问题.QR 分解也是特定特征值算法即QR算法的基础.用图可以将分解形象地表示成: 其 ...
- 矩阵的QR分解
#include <cstdio> #include <cstdlib> #include <algorithm> #include <cmath> # ...
- QR分解
从矩阵分解的角度来看,LU和Cholesky分解目标在于将矩阵转化为三角矩阵的乘积,所以在LAPACK种对应的名称是trf(Triangular Factorization).QR分解的目的在 ...
- QR分解与最小二乘
主要内容: 1.QR分解定义 2.QR分解求法 3.QR分解与最小二乘 4.Matlab实现 一.QR分解 R分解法是三种将矩阵分解的方式之一.这种方式,把矩阵分解成一个正交矩阵与一个上三角矩阵的 ...
- QR分解与最小二乘(转载自AndyJee)
转载网址:http://www.cnblogs.com/AndyJee/p/3846455.html 主要内容: 1.QR分解定义 2.QR分解求法 3.QR分解与最小二乘 4.Matlab实现 一. ...
- QR 分解
将学习到什么 介绍了平面旋转矩阵,Householder 矩阵和 QR 分解以入相关性质. 预备知识 平面旋转与 Householder 矩阵是特殊的酉矩阵,它们在建立某些基本的矩阵分解过程中起着 ...
- QR分解迭代求特征值——原生python实现(不使用numpy)
QR分解: 有很多方法可以进行QR迭代,本文使用的是Schmidt正交化方法 具体证明请参考链接 https://wenku.baidu.com/view/c2e34678168884868762d6 ...
- 矩阵LU分解的MATLAB与C++实现
一:矩阵LU分解 矩阵的LU分解目的是将一个非奇异矩阵\(A\)分解成\(A=LU\)的形式,其中\(L\)是一个主对角线为\(1\)的下三角矩阵:\(U\)是一个上三角矩阵. 比如\(A= \beg ...
- 【矩阵】RQ/QR 分解
Multiple View Geometry in Computer Vision A.4.1.1 (page 579) 将一个 3x3 矩阵 $ A $ 进行 RQ 分解是将其分解成为一个上三角阵 ...
随机推荐
- Linux_yum安装时报404错误
使用yum安装报错如下: [root@localhost ~]# yum install gcc 已加载插件:fastestmirror Loading mirror speeds from cach ...
- LINUX学习-Mysql集群-一主多从
新建一台服务器 192.168.88.40 yum -y install mysql mysql-server 编辑etc下的配置文件 vim /etc/my.cnf 输入 bin-log=mysql ...
- JAVA自定义连接池原理设计(一)
一,概述 本人认为在开发过程中,需要挑战更高的阶段和更优的代码,虽然在真正开发工作中,代码质量和按时交付项目功能相比总是无足轻重.但是个人认为开发是一条任重而道远的路.现在本人在网上找到一个自定义连接 ...
- 力扣 - 剑指 Offer 49. 丑数
题目 剑指 Offer 49. 丑数 思路1 丑数是只包含 2.3.5 这三个质因子的数字,同时 1 也是丑数.要计算出 n 之前全部的丑数,就必须将 n 之前的每个丑数都乘以 2.3.5,选取出最小 ...
- 简单Spring MVC项目搭建
1.新建Project 开发环境我使用的是IDEA,其实使用什么都是大同小异的,关键是自己用的顺手. 首先,左上角File→New→Project.在Project页面选择Maven,然后勾上图中所示 ...
- Solon 开发,八、注入依赖与初始化
Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...
- Linux中的一些基本命令
文章目录 ls cd Linux的目录 文件的权限 1.用户,组,权限 2.文件的权限 文件的基本操作 增:创建文件 删:删除文件 改:修改文件 查:查看 vi/vim 是一个编辑工具,主要用来编辑文 ...
- 猫与ThinkPad
高中时候看见过家里橘猫谁在舅舅的ThinkPad笔记本了,可惜没拍下来,我也不喜欢那只猫,更喜欢幼时的白猫和黑白猫. ThinkPad宣传图片诚不欺我. 怀念青春与当年陪我游戏的IBM的ThinkPa ...
- 【重构前端知识体系之HTML】HTML5给网页音频带来的变化
[重构前端知识体系之HTML]HTML5给网页音频带来的变化 引言 音乐播放,相信大家都很熟悉,但是早在之前的音乐播放之前,你的浏览器会问你,是否下载flash插件.然而现在,估计一些年轻的开发者都不 ...
- sql 同步远程数据库(表)到本地
一)在同一个数据库服务器上面进行数据表间的数据导入导出: 1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中: insert into db2.tb ...