正交分解与完全正交分解

  • 关于正交分解的三种理解
  • 完全正交分解
    • 完全正交分解的数学本质
    • 我们为什么要使用完全正交分解

关于正交分解的三种理解

正交分解的理解方法有两种,正着理解指的是施密特正交化方法,反着理解则是吉文斯变换(givens)和豪斯霍尔德(householder)变换,即一个正交矩阵乘以一个矩阵会发生什么。

这三种变换这篇博文讲的很好,(矩阵QR分解_honyniu的专栏-CSDN博客 1

我在这里不再赘述,只对后两种变换做一个直观的阐述。正交变换左乘列向量,可以让列向量的两个元素在满足条件的情况下一起变换,可以用于化阶梯型(given变换);可以让列向量ξ\boldsymbol{\xi}ξ变化为与给定单位向量ζ\boldsymbol{\zeta}ζ同方向的向量η\boldsymbol{\eta}η(householder变换),行向量同理,右乘即可。

从后两种变换来说,正交分解意味着将一个矩阵A左乘多个正交变换矩阵Q1⋯QnQ_1 \cdots Q_nQ1​⋯Qn​进行列消元,得到一个上三角矩阵RRR,即

Q1×Q2×⋯Qn×A=RQ_1\times Q_2 \times \cdots Q_n\times A=RQ1​×Q2​×⋯Qn​×A=R

考虑到正交矩阵乘正交矩阵仍是正交矩阵,正交矩阵的逆是其转置且也是正交矩阵,得:

A=Q×RA=Q\times RA=Q×R

完全正交分解

完全正交分解的数学本质

正交分解是完全正交分解在A满秩时的特殊形式,完全正交分解表达式如下:

A=Q(R000)ZTPT(1)\mathbf{A}=\mathbf{Q}\left(\begin{array}{ll} \mathbf{R} & 0 \\ 0 & 0 \end{array}\right) \mathbf{Z}^{T} \mathbf{P}^{T}(1) A=Q(R0​00​)ZTPT(1)

其中Q和Z都是正交矩阵,其具体生成过程如下:

令n×nn\times nn×n矩阵A秩为r,对其进行正交分解:

A×P=Q×RQ(2)A\times P=Q\times R_Q(2)A×P=Q×RQ​(2)

这里的P也是正交矩阵(初等行变换矩阵是正交矩阵,P是多个初等行变换矩阵的乘积),只起到将线线性无关行置换到上部的作用。由于A并不是满秩,这里的RQR_QRQ​显然会出现n-r行0行,我们将其非零行提取出来,构成矩阵R^Q\hat{R}_QR^Q​,其规模为r×nr\times nr×n。

此时的R^Q\hat{R}_QR^Q​矩阵是一个上阶梯型矩阵upper trapezoidal matrix,这样的结果与式(1)的形式(upper triangular form)并不一样,这是我们不想看到的,我们需要进一步的变换。我们需要把RQR_QRQ​每行右端的n-r列清零,这显然可以利用given变换实现,右乘一个正交矩阵Z(n×n)即可,即:

A=Q×RQ×Z×ZT×PTA=Q\times R_Q \times Z \times Z^T\times P^TA=Q×RQ​×Z×ZT×PT

换个形式就是式(1)所示的结果。

我们为什么要使用完全正交分解

在求解线性方程时我们会面对两个问题,超定问题和欠定问题,超定问题会导致没有解,欠定问题会导致多解。对于超定问题,我们一般采用最小二乘方法。最小二乘方法有两种理解方式,一种是求导方法,一种是线性空间射影方法。我简单用线性空间射影方法说明一下。

对于方程

Ax=bAx=bAx=b

式中,AxAxAx是A各个列向量张成的空间的一个向量。若方程超定,则b不在此空间内。我们要求的向量应满足:∣∣Ax−b∣∣||Ax-b||∣∣Ax−b∣∣最小,即Ax-b与A正交,则:

AT(Ax−b)=0A^T (Ax-b)=0AT(Ax−b)=0

即:

ATAx=ATbA^T Ax=A^TbATAx=ATb

显然,此时的超定问题转化为了一个定解问题或者欠定问题。而欠定问题一是不方便计算机计算,二是不方便直接将结果带入其他优化问题,完全正交分解正是用来解决这个问题的.完全正交分解后结果如下:

Q(R000)ZTPTx=b\mathbf{Q}\left(\begin{array}{ll} \mathbf{R} & 0 \\ 0 & 0 \end{array}\right) \mathbf{Z}^{T} \mathbf{P}^{T}x=b Q(R0​00​)ZTPTx=b

适当变换:

(R000)ZTPTx=QTb\left(\begin{array}{ll} \mathbf{R} & 0 \\ 0 & 0 \end{array}\right) \mathbf{Z}^{T} \mathbf{P}^{T}x=\mathbf{Q^T}b (R0​00​)ZTPTx=QTb

这里的R是一个上对角阵,若将ZTPTx\mathbf{Z}^{T} \mathbf{P}^{T}xZTPTx视为x′x'x′此时x′x'x′的前r维已经是定值了,后n-r维是任取的。

因为ZTPT\mathbf{Z}^{T} \mathbf{P}^{T}ZTPT为正交阵,而正交变换f有如下性质:

(f(x),f(y))=(x,y)(f(x),f(y))=(x,y)(f(x),f(y))=(x,y)

因此,∣∣x′∣∣=∣∣x∣∣||x'||=||x||∣∣x′∣∣=∣∣x∣∣

我们如果取∣∣x∣∣||x||∣∣x∣∣最小的解,只需要使∣∣x′∣∣||x'||∣∣x′∣∣最小,即将后n-r维设为0,即:

ZTPTx=(R−000)QTbZ^TP^Tx=\left(\begin{array}{ll} {R^-} & 0 \\ 0 & 0 \end{array}\right) {Q^T}bZTPTx=(R−0​00​)QTb

根据奥卡姆剃刀原则,选择模最小的解是有合理性的,计算方法如下:

x=PZ(R−000)QTbx=PZ\left(\begin{array}{ll} {R^-} & 0 \\ 0 & 0 \end{array}\right) {Q^T}bx=PZ(R−0​00​)QTb
欢迎关注我的个人公众号:非功利者的功利人生


  1. 矩阵QR分解_honyniu的专栏-CSDN博客 ↩︎

正交分解与完全正交分解的数学解释相关推荐

  1. MACD 的数学解释

    目录 MACD 的数学解释 MACD 的一般定义 引入延迟算子 Taylor 展开 权重分析 共振? MACD 的数学解释 MACD 的一般定义 \[ \begin{align*} DIF & ...

  2. 万向锁的简单数学解释

    我们知道用欧拉角表示空间的旋转,容易产生万向锁(Gimbal Lock)问题,这常常不太容易理解.下面给出一个直观的数学解释. 欧拉角表示的空间旋转,可以用绕三个坐标轴的旋转矩阵的乘积表示 万向锁问题 ...

  3. 【数学与算法】凸函数、凸集、凸函数的一二阶数学解释

    1. 凸函数的定义 1.1 凸函数的几何解释 所谓凸函数,其实指的是下凸函数,从几何意义上看,凸函数就是任意两点之间的弦(即这两点构成的线段)都在该函数图像(此处是指这两点之间的函数图像,而非全部的函 ...

  4. 7-35 猴子吃桃问题(含数学解释)

    7-35 猴子吃桃问题 题目 代码 小贴士 题目 一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个:第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半 ...

  5. 线性化微分数学解释Einstein狭义相对论质能方程E=MC^2

    线性化微分数学解释Einstein狭义相对论质能方程E=MC^2 要理解爱因斯坦在狭义相对论中的质能方程是如何推导出来的,需要先了解数学中的微分方程及其线性化方程的知识.现在先从最简单的微分方程开始. ...

  6. 软件测试正交分解法实例,正交分解法例题及练习

    正交分解法 在运用正交分解法解题时,一般按如下步骤: ㈠ 以力的作用点为原点作直角坐标系,标出x 轴和y 轴,如果这时物体处于平衡状态,则两轴的方向可根据自己需要选择,如果力不平衡而产生加速度,则x ...

  7. Google BBR拥塞控制算法背后的数学解释 | 深度

    参加 2019 Python开发者日,请扫码咨询 ↑↑↑ 作者 | 赵亚 转载自CSDN网站 杭州待了一段时间,回到深圳过国庆假期,无奈温州皮鞋?厂老板过节要回温州和上海,不在深圳,也就没有见着,非常 ...

  8. 【Brain】脑智前沿科普|用数学解释大脑学习的过程

    来源:脑与心智毕生发展研究中心 原文作者:Kate Nussenbaum,Alexandra O. Cohen 原文编辑:David Sheinberg 小小评阅人:Brown University ...

  9. Google BBR拥塞控制算法背后的数学解释

    杭州待了一段时间,回到深圳过国庆假期,无奈温州皮鞋?厂老板过节要回温州和上海,不在深圳,也就没有见着,非常遗憾! 国庆节当天,就写这个了.经理不会弹琴,但是经理会弹琴. 我原本可能会在想国庆节的凌晨到 ...

最新文章

  1. mysql权限表整理
  2. 2021年春季学期-信号与系统-第三次作业参考答案-第七道题
  3. angular指令:tm.tags添加/删除标签
  4. Android之Android:layout_weight详解
  5. asp.net core json返回的时间格式出现T 如何解决
  6. Little Sub and Balloons
  7. 预警展示样式html,纯css3 Tooltip工具提示样式
  8. java1a2b3c4d5e6f_用两个线程,一个输出字母,一个输出数字,交替输出1A2B3C4D...26Z...
  9. remote: Incorrect username or password ( access token )
  10. Nginx+uWSGI 入门
  11. java数组中重复_数组中重复的数字 java
  12. 信用卡交易数据异常检测
  13. 2个令人震撼的Demo
  14. POJ2586-Y2K Accounting Bug
  15. 基于OpenCV双边滤波器的人脸美化 .
  16. 【JY】流体力学之牛顿流体和非牛顿流体
  17. 虎扑网站服务器垃圾,虎扑拿下域名hupu.com 游击队摇身一变正规军
  18. mysql生成uui mybatis_Mybatis【配置文件】详解
  19. FFmpeg —— 12.示例程序(六):视频编码器(YUV编码为H264)
  20. 安装 synaptic on ubuntu 18

热门文章

  1. 强生、赛诺菲、葛兰素史克、武田等巨头纷纷加注在华投资 | 跨国药企在中国...
  2. Java比较两个时间大小
  3. 详细解析OLED及相关代码,基于SH1107的1.3寸OLED屏
  4. Linux系统启动过程
  5. SmoothGrad: removing noise by adding noise
  6. 鸡尾酒疗法(信息学奥赛一本通-T1072)
  7. centos7服务器安全基线检查和加固建议
  8. HA Of Rancher
  9. 师者,传道授业解惑者也:看现在的培训机构和毕业生就业状况
  10. [AHK]用AutoHotkey面向对象实践“观察者模式”