惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
V
Vulnerabilities – Threatpost
T
Tor Project blog
T
Troy Hunt's Blog
C
CERT Recently Published Vulnerability Notes
C
Cisco Blogs
W
WeLiveSecurity
Cloudbric
Cloudbric
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
爱范儿
爱范儿
Google Online Security Blog
Google Online Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
F
Full Disclosure
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
I
Intezer
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
腾讯CDC
L
LangChain Blog
L
LINUX DO - 热门话题
H
Help Net Security
S
Schneier on Security
N
Netflix TechBlog - Medium
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
Spread Privacy
Spread Privacy
S
Secure Thoughts
T
The Exploit Database - CXSecurity.com
P
Privacy International News Feed
P
Privacy & Cybersecurity Law Blog
Cyberwarzone
Cyberwarzone
A
About on SuperTechFans
NISL@THU
NISL@THU
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
Recorded Future
Recorded Future
雷峰网
雷峰网
AWS News Blog
AWS News Blog
V2EX - 技术
V2EX - 技术

寒夜雨

【Rethink Math】矩阵论的几何理解:广义逆矩阵 【Rethink Math】矩阵论的几何理解:奇异值分解 【Rethink Math】矩阵论的几何理解:线性方程组与满秩分解 【Rethink Math】矩阵论的几何理解:施密特正交化与QR分解 【Rethink Math】矩阵论的几何理解:矩阵微积分 【Rethink Math】矩阵论的几何理解:范数 【Rethink Math】矩阵论的几何理解:矩阵转置与酉相似 【Rethink Math】矩阵论的几何理解:矩阵的相似变换 【Rethink Math】矩阵论的几何理解:线性代数篇(二) 【Rethink Math】矩阵论的几何理解:线性代数篇(一) 【RethinkAI】EM算法 【RethinkAI】IBM Model 1 【无线电】A类考试知识小记 【RethinkAI】Agent数据集的调研研究 【杂谈】砭人肌肤的冷雨 【Linux】Back to Linux, to Some Extent... 【杂谈】碎梦 【RethinkAI】OpenClaw的运行流程 【JavaScript】初学笔记:从作用域到事件循环 【杂谈】午夜橘子汽水 【杂谈】小水文:一点技术和技术之外的事情
【Rethink Math】矩阵论的几何理解:矩阵分解之三角分解
CoderLock · 2026-06-25 · via 寒夜雨

这一章节是我觉得整个矩阵论中,最有趣的章节之一。

三角矩阵的几何意义

Takeaway:

三角矩阵的几何含义就是按照坐标顺序,逐层发生的线性变换,也可以看作缩放变换与剪切变换的结合。

二维情况下,如果对角线的元素为1,那么上三角矩阵代表一个水平剪切的线性变换,而下三角矩阵就代表着一个竖直剪切的线性变换。

三角矩阵可以看作缩放变换和剪切变换的加和,那么只有缩放变换部分改变有向面积的大小,故行列式只与对角元素有关。

在讲矩阵分解的第一种分解——三角分解之前,我想简要地谈一谈三角矩阵的几何意义。

实际上,在我们之前谈论Jordan标准型的时候,就已经大概说明了三角矩阵的含义:

首先假设我们有了一个$n$阶Jordan块,那么我们的基要满足什么样的条件——对于每一个基,向量在上面的变换,都可以看作该方向上的缩放和在前一个方向的平移分量。

那么三角矩阵的几何含义其实就相当于Jordan块的一种推广,三角矩阵代表着一种按照坐标顺序,逐层发生的线性变换。您可以把它看作一种有单向依赖的结构。

口说无凭,我们来举几个例子吧,首先是上三角矩阵,假设一个上三角矩阵为:

$$ U=\begin{bmatrix} a & b\\ 0 & d\\ \end{bmatrix} $$

当它作用在一个向量上:

$$ U \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} ax+by\\ dy \end{bmatrix} $$

也就是说:

$$ x'=ax+by $$

$$ y'=dy $$

这里我们看到,新的纵轴坐标,是只由原来的纵轴坐标决定的;而新的横轴坐标,就要由原来的横轴坐标和纵轴坐标一起来决定。也就是说,如果原来的向量,高度越高,那么它对于变换之后,横轴的分量的影响可能就要稍微大一些。如果$a=d=1$,那么这个上三角矩阵就是一个典型的水平剪切矩阵,点的高度不变,但是横轴的分量却要发生改变。

我们再来举一个下三角矩阵的例子,假设一个下三角矩阵为:

$$ L = \begin{bmatrix} a & 0 \\ c & d \end{bmatrix} $$

当它作用到一个向量的时候,比如:

$$ L \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} ax\\ cx+dy \end{bmatrix} $$

也就是说:

$$ x'=ax $$

$$ y'=cx+dy $$

这次结构反过来了,这里,横轴方向的分量只由原来的横轴分量决定,但是纵轴方向的分量却由原来的横轴分量和纵轴分量一起决定。同样的,当$a=d=1$,那么向量的水平坐标不变,而竖直方向上的坐标就改变了,这就形成了一个竖直剪切矩阵

那么三角矩阵也可以看作一个对角矩阵和另一个矩阵的加和,那么对角矩阵就代表单纯的缩放变换,那么另一个矩阵就代表着不同方向上的剪切操作。那么这个看法也可以很好地帮助我们理解三角矩阵的行列式的值,只与对角线元素有关——因为只有缩放变换会影响有向面积的大小,而剪切变换不会。

三角分解

Takeaway:

由于三角矩阵把变量拆成了有序依赖的形式,所以便利于我们求解线性方程组。

LDR分解相当于把矩阵拆成了剪切-缩放-剪切的一个变换链。

对于我们之前的例子,比如上三角的例子,我们发现,这很利于我们求解线性方程组,当我们求解:

$$ Ux=b $$

的时候,我们只需要求出$x$的最后一个元素,然后逐层往回代入即可。因为对于上三角矩阵,我们把$x$的求解,拆成了$x_1\to x_2\to \cdots\to x_n$的形式,这里的箭头代表依赖关系。我们把本来没有顺序、没有规律的变量,变成了一种有序的依赖关系。当然,很多时候,我们求解的线性方程组是:

$$ Ax=b $$

这里面的矩阵$A$往往不是一个上三角矩阵或者下三角矩阵,为了依靠三角矩阵的便利性,我们可以将矩阵$A$拆成两个三角矩阵:

$$ A=UL $$

那么当我们求解:

$$ Ax=b $$

的时候,就相当于求解:

$$ ULx=b $$

那么我们先求解:

$$ Uz=b $$

然后再求解:

$$ Lx=z $$

即可。那么把一个矩阵拆成两个三角矩阵的方法,就叫做矩阵的三角分解

三角分解这部分通常会涉及到三个分解方法:Crout分解、Doolittle分解和LDR分解,前两个分解笔者觉得没有太大意思,主要来谈一谈LDR分解。LDR分解是把一个矩阵分解为下三角矩阵(对角为1)、对角矩阵和上三角矩阵(对角为1)的乘积,那么这个分解的几何意义其实非常直观,先做一个上三角矩阵的变换,也就是水平剪切,再做一个缩放,最后再进行一个竖直剪切。LDR分解把缩放和剪切变换分隔开来,不像Crout分解和Doolittle分解那样,把两个变换揉在了一起。这样的一种——把一个变换拆成若干变换的组合——思想,我们在后面的SVD分解中依然会遇到。

三角分解到这里还没结束,因为我们还没有涉及到如何给一个矩阵做三角分解,如何将其分解。我们对一个矩阵做三角分解的步骤通常是这样的,解方程:

$$ Ax=b $$

的时候,我们先用高斯消元法,把系数矩阵变成一个上三角矩阵,也就是:

$$ TA=U $$

于是:

$$ A=T^{-1}U=LU $$

其实在这个过程中,高斯消元本身就是对矩阵的变换,进行一个坐标层面的拆解。因为,高斯消元法用前面的行向量去剪切后面的行向量,使得后面的行在某些坐标方向上的分量变成0,从而得到一个坐标层面的依赖关系。