A = LU

这实际上就是我们解矩阵方程组一般使用的方式,比如方程组是:

我们一般把它写成增广矩阵:

然后化简成阶梯型矩阵的形式,这个时候可以方便的算出

,然后再往上代回,逐渐得到所有的x。

如果我们实际来 coding,可能会出现的问题:

为0, 或者
,那么我们化简第二行时
可能会误差很大

解决的办法就是行交换,把比较大的pivot放在前面。其实这个我们手动解

的时候就会这样做。

这个方法叫做 Gaussian elimination with partial pivoting (GEPP). 实际上 Matlab 中用的一般也就是这个办法来解

, 当然在 Matlab 中我们一般如果要解答可以直接用 x = Ab 就可以知道了,不过我们如果想知道的明确 L,U矩阵我们可以 [L, U] = lu(A). 当然其实严密一点来说是如果我们用 [L,U] = lu(A)得到的这个L是一个permutaed lower triangle matrix,再加上交换才是严格的lower triangle,也就是 [L, U, P] = lu(A).

比如矩阵:

>> 

A = QR

Q 代表的是正交矩阵,这里的 R 是 upper triangle 矩阵:

>> 

我们可以通过 Gram–Schmidt 完成 QR 分解。

正交矩阵当然是具有很多很好特性的矩阵,比如:

  • det(Q) = ±1, 如果 det(Q) = 1 则为旋转变换,说起旋转变换又会想到SO(n) 李群和李代数
  • 可以给我们提供一组正交基

当矩阵是一个实对称矩阵S(symmetric)的时候,我们可以把它分解成:

正交矩阵Q、 对角矩阵Λ(特征值)、正交矩阵的转置

这个分解叫特征分解(Eigendecomposition),又称谱分解(Spectral decomposition),因为 Q 中是特征向量, Λ 中是特征值,

是跟
这些特征值对应的特征向量。

当然在 Matlab中我们还是用 [V, D] = eig(S) 可以得到它的对应矩阵 Q 和 Λ.

>> 

SVD - 奇异值分解(singular value decomposition),之前写过PCA(主成分分析) 和 SVD (奇异值分解)。

Matlab 中使用:

>> 

Cholesky分解,当 A 是一个SPD (real Symmetric positive definite matrix)的时候,我们可以把它分解成 lower triangle 矩阵 L 和它的转置也就是 upper triangle

.
>> 

如果 A 可以对角化,那么 A 可以分解成

。 依旧可以使用特征值分解来解决这个问题。

r语言中正定矩阵由于误差不正定_矩阵的几种分解方式相关推荐

  1. r语言中正定矩阵由于误差不正定_浅谈「正定矩阵」和「半正定矩阵」

    在众多的机器学习模型中,线性代数的身影无处不在,当然,我们也会时常碰到线性代数中的正定矩阵和半正定矩阵.例如,多元正态分布的协方差矩阵要求是半正定的. --------------×--------- ...

  2. r语言中正定矩阵由于误差不正定_R语言之数据处理(一)

    在上一篇小文中,提到了关于R语言导入数据的一些方法,之后的重点就转向了数据的处理上.数据处理其实在整个数据分析项目中所占用的时间是比较多的,所以根据处理的目的不同,也有不同的处理方法.在R语言中,我通 ...

  3. r语言中正定矩阵由于误差不正定_Kalman滤波在MOT中的应用(一)——理论篇

    前言 Kalman滤波器是多目标跟踪任务中一个经典的运动模型,接下来会从理论.发展和代码实践三个方面对其进行展开,本次主要以理论基础为主. 在这篇之前还有一个关于多目标背景任务的介绍,不过被知乎删了, ...

  4. r语言中正定矩阵由于误差不正定_Rcall:Stata 与 R 的无缝对接

    NEW!连享会·推文专辑: Stata资源 | 数据处理 | Stata绘图 | Stata程序 结果输出 | 回归分析 | 时间序列 | 面板数据 | 离散数据 交乘调节 | DID | RDD   ...

  5. r语言 rgl 强制过程中_一个R语言中操纵矢量空间数据的标准化工具—sf

    ​注: 本文是R语言sf包的核心开发者和维护者--来自德国明斯特大学的地理信息学教授:Edzer Pebesma 的一篇关于sf包的简介,发表于2018年7月的R语言期刊,主要讲述了sf的定位.功能. ...

  6. R语言数据分析笔记——t检验(含正态性检验和方差齐性检验在SPSS和R语言中的操作t检验(单样本、双独立样本、配对样本)在Excel、SPSS、R语言中的操作)

    前言:本文为个人学习笔记,为各大网站上的教学内容之综合整理,综合整理了①假设分析的基础知识.②正态性检验和方差齐性检验在SPSS和R语言中的操作.③t检验(单样本.双独立样本.配对样本)在Excel. ...

  7. R语言中的地理/投影坐标系统(下)[翻译]

    原文链接:https://mgimond.github.io/Spatial/coordinate-systems-in-r.html. 译文分上.下两篇,这里为下篇. ❝ 「译者注」:在原文的本部分 ...

  8. R语言中使用非凸惩罚函数回归(SCAD、MCP)分析前列腺数据

    原文链接:http://tecdat.cn/?p=20828 本文使用lasso或非凸惩罚拟合线性回归,GLM和Cox回归模型的正则化,特别是_最小_最_大凹_度_惩罚_函数_(MCP)_和光滑切片绝 ...

  9. R语言中使用pkgbuild::find_rtools查看是否有Rtools、使用Sys.which函数查看make是否存在、如果没有则安装、使用writeLines函数绑定R和Rtools

    R语言中使用pkgbuild::find_rtools(debug = TRUE)查看是否有Rtools.使用Sys.which函数查看make是否存在.如果没有则安装Rtools.使用writeLi ...

最新文章

  1. 它估值25亿!被马云领投,是华为“老战友”,网友:也许股价能超茅台!
  2. 源码解析Spring Cloud Zuul
  3. 不属于计算机常用软件日常应用的是,综合技能实践+计算机常用应用软件的安装和使用指导 (1)...
  4. 大数运算(8)——大数幂运算
  5. mysql引擎总结_MySQL存储引擎对比总结
  6. mysql行级锁 select for update
  7. 【Oracle】等待事件详细内容
  8. SQL的主键和外键详解!
  9. linux下实现getch()函数的功能,Linux下实现getch()函数功能
  10. Map的实现类中,哪些是有序的,哪些是无序的
  11. 用java实现九九乘法表的打印
  12. 心理学上的被动_心理学基本原理之二 : 主动与被动原理
  13. Written English-书面-现在完成进行时
  14. 如何用CMD查看电脑详细配置
  15. 高德导航过程中实时获取道路信息
  16. Android开发 Flash Ane创建和使用
  17. NVIDIA,怎么查看显卡
  18. winedit使用教程_基础教程:BCDEDIT常用命令及使用实例(图)
  19. Panda白话 - G1垃圾收集器 之 Refine线程
  20. 【ggplot】复杂柱状图:自定义颜色、标签、位置、坐标轴和主题

热门文章

  1. 关于MAC电脑外接DELL显示器的高清分辨率及Display P3颜色空间设置问题的解决方法
  2. 全球与中国海藻DHA市场深度研究分析报告
  3. 如何在浏览器中控制使用USB摄像头
  4. 安装配置VSFTP服务
  5. 利盟Lexmark M5163dn 一体机驱动
  6. java 阶乘尾部的零,阶乘算法全集,阶乘末尾非零位,阶末尾零的个数
  7. mysql 连接方法_MySQL 四种连接方式(通信方式)
  8. Oracle BMW Racing sailing vessel帆船图
  9. 【洛谷 1821】银牛派对Silver Cow Party
  10. SessionFactory(单态模式)及使用Query方法