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

推荐订阅源

雷峰网
雷峰网
Security Archives - TechRepublic
Security Archives - TechRepublic
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
WordPress大学
WordPress大学
爱范儿
爱范儿
J
Java Code Geeks
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
宝玉的分享
宝玉的分享
博客园 - 【当耐特】
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Help Net Security
Help Net Security
Hacker News: Ask HN
Hacker News: Ask HN
月光博客
月光博客
S
Secure Thoughts
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
O
OpenAI News
酷 壳 – CoolShell
酷 壳 – CoolShell
N
News and Events Feed by Topic
腾讯CDC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Webroot Blog
Webroot Blog
博客园 - Franky
有赞技术团队
有赞技术团队
美团技术团队
Jina AI
Jina AI
S
Security @ Cisco Blogs
博客园 - 叶小钗
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
C
CERT Recently Published Vulnerability Notes
T
Threat Research - Cisco Blogs
Project Zero
Project Zero
A
Arctic Wolf
大猫的无限游戏
大猫的无限游戏
Latest news
Latest news
小众软件
小众软件
IT之家
IT之家
S
Security Affairs

寒夜雨

【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,从而得到一个坐标层面的依赖关系。