复习线性代数必须意识到的一点:线性代数的本质是线性变换

对于这个式子来说,我们对向量做线性变换,而矩阵是线性变换的规则。

一、一些基础概念

1.1 向量

向量在数学、计算机、物理领域有着不同的含义,而在线性代数领域,我们习惯把它理解为:从原点开始,在不同的方向上做一定程度的运动。

注意从原点开始这一点。如果一个变换使一个向量的起点不是原点,我们就不能认为这个变换是线性变换。经典的案例:平移。

1.2 线性组合、空间

我们不妨换一种看法:在二维空间中举例,每个分量可以看作对该分量上的单位向量进行拉伸,之后对拉伸后的单位向量进行矢量求和。

这个改变很有意思,因为我们把一个向量,视为了一组基向量的线性组合

所谓线性组合,实际你可以理解为:你手里有一堆向量,对这些向量你每个可以自由伸缩,然后再对他们进行矢量求和。

所谓空间,个向量的所有线性组合就张成了这个向量的空间。

一个例子:二维空间两个不共线的向量张成了一个平面。

1.3 基

想象一个三维空间,你现在手里有两个向量,其张成的空间是一个平面。如果再给你一个向量,这个向量在平面之内,是不是你永远也无法用这三个向量“逃离这个平面”?实际上,这就是线性相关的概念,我习惯理解为“提供了冗余的信息”。

精确点说,现在有一个向量组,如果向量组中一个向量能写作其他向量的线性组合,这一组向量就是线性相关的。反之若没有一个向量能被其他向量表示,这一组向量就是线性无关的。

说回基。向量空间的一组基就是张成该空间的一个线性无关向量集。

一个结论:维空间的一组基向量数为

二、矩阵、线性变换

变换实际上可以理解为一种“函数”,我们输入一个向量,经过矩阵的处理,得到一个输出向量。实际上使用“变换”这个词而不用“函数”,这能够引发我们的一些思考,譬如“能不能以运动的角度去认识这个过程”?

我们现在考虑输入向量“移动”到输出向量的过程,必须构建起来这个观念:线性变换就是“向量的移动”。由于向量从原点出发,我们可以把平面上的点和向量一一对应起来,譬如点对应这个向量。我们可以想象的到,平面上的一条线可能会被扭曲成很复杂的样子,但是在线性代数我们只考虑线性变换。

在此,我十分推荐观看03 - 矩阵与线性变换_哔哩哔哩_bilibili

2.1 线性变换

平面上的点(与向量一一对应)可以构成一条条直线,你可以对这些直线进行挤压、拓展,这些直线在变换之后若仍然保持为直线,且原点不发生坐标的移动,则这个变换可以被视为线性变换。

形象点说,我们如果能保证原空间的网格线平行且等距分布,这个变换就是线性的

2.2 矩阵

下面的问题是我前期复习线性代数最恍然大悟的部分。我们需要思考:如何去用数值描述线性变换?我们能在一些视频里看到别人做的关于线性变换的动画,那么我们知道,你肯定要给计算机合理的计算公式,给它一套描述线性变换的规则,他才能把动画渲染出来。事实上,这就是矩阵完成的任务。

我们前面已经介绍过,譬如二维的一个向量,我们可以把它看作,其中,显然是二维空间的一组基。这个向量就是二维空间的一组基的线性组合。现在我们假设有一个矩阵(注意我写成了两个列向量的形式,这两个列向量都是二维向量),那么就有: 我们与之前的做对比,发现这个过程不就是给这个向量换了一个基吗!所以这个实际上就是变换后的基!这个变换就是原基到新基的运动!

更形象地举个例子,我现在要做一个线性变换,是把线性空间中的向量逆时针旋转90度。显然这是一个线性变换(原点不变,任意的直线旋转之后显然还是直线)。那我们想想这个线性变换的矩阵长什么样。之前的基是,旋转之后则是,那么这个旋转90度的线性变换对应的矩阵就是: 对应的线性变换长这样:

这么看是不是好理解很多!我们只需要理解:一个矩阵的列向量组就是变换后的基,变换可以看作从原基到新基的函数(运动)就可以了。理解了之后,我们可以把很多抽象对象视为基,变换也同样可以适用于这些抽象对象。

2.3 矩阵乘法+线性变换

我们对空间中的向量显然可以有多重连续的操作,上面的结论推广之后,我们就可以得到一种对矩阵乘法新的理解:

对于矩阵乘法,相当于先对向量做B对应的线性变换,再做A对应的线性变换。

举个例子来说,设,那么第一次线性变换后的基从变成了。之后再对这两个基做矩阵A对应的线性变换,就是最后得到的基。最终得到的基对于向量的线性组合就是你所得到的向量啦。

三、行列式

3.1 行列式的几何含义

行列式往往是大学线性代数课最开始学习的内容,可实际上要了解它的含义,放到这里是比较合适的。事实上,行列式的几何意义就是线性变换对面积或体积的“带方向缩放倍数”

我们前面知道,原空间的网格线在线性变换之后是平行且等距分布的。所以对于空间中任意的区域来说,在经过对应的线性变换之后面积/体积的缩放比例都是相同的。

图里的所有方格缩放比例相同我们容易看出,但是为什么任意的区域缩放比例都相同?事实上,我们可以考虑近似的想法,将一个曲线围成的区域近似成方格所组成的区域,就容易理解这一点了。

这个特殊的缩放比例,就是所谓“行列式的值”。

理解了这一点,我们经常听到的“降维”等词语就很好理解了。如果行列式等于0,就说明这个矩阵代表的变换将空间压缩到了更小的维度上。所以我们很容易能把几个概念看作等同:秩小于n,行列式等于0,列向量组线性相关……他们都在某种程度上说明了这个线性变换丢失了信息这一点。

在这里补充一点说明,为什么行列式允许为负数?

假设在二维空间,y轴上的单位向量是在x轴上的单位向量左侧(逆时针方向)的,如果有一个变换使得y轴上的单位向量再x轴上的单位向量的顺时针方向,那么行列式就是负的啦。这种时候我们可以描述他为“空间定向改变”,想象一张纸翻了一个面,就是这个效果。

3.2 行列式的计算

在这里我们不多做探讨行列式的计算,网上有很多相关教程。下面这张图很好的说明了二阶行列式的计算是如何推导出来的。

有了上面的概念之后,这个公式是不是变得简单易懂了呢?

四、逆矩阵、列空间、零空间

我们知道,线性代数在帮助我们求解线性方程组这一点是很有帮助的,具体我们可以参考P3389 【模板】高斯消元法 - 洛谷,高斯消元法。

不过我们尽量不去涉及计算,看看能否理解线性代数求解线性方程组的过程。注意,我们只涉及线性方程组,也就是所有的未知量只有常系数,没有幂次等等奇怪的东西的方程组。

事实上,这样的方程我们可以把它看成一个向量方程,并写成矩阵乘法的形式。

上面的方程我们记作

这样子的书写方法不仅仅是为了方便,这引导我们从前面的积累去进行思考:矩阵A代表一种线性变换,求解这个方程代表我们去寻找一个向量x,使它在这个变换之后与向量v重合。

为了方便思考,我们先从二维的角度去思考。我们针对矩阵A进行分类讨论。首先如果其行列式不等于0,在这种情况下,有且仅有一个向量在变换之后与v重合。

4.1 逆矩阵

接着上面的说,在此我们引入逆矩阵的概念。我们要求出向量x,是不是可以思考这个线性变换的“逆过程”。也就是说:x经过一个线性变换到v,对v做这个变换的逆向操作是不是就可以到我们求解的x?我们就再次假设这个“逆过程”的线性变换对应的矩阵为,并称呼其为逆矩阵。

一个简单的例子,假设A是逆时针旋转90度的矩阵,相信大家很快就能写出来: 那么就有: 这个矩阵就是顺时针旋转90度的矩阵,且有,这样x不就被求出来了吗!

这样子去理解线性方程的求解是不是更加容易一点呢?总的来说,就是矩阵A的线性变换对应的逆变换,所以很容易理解的一点是实际上就是对向量x什么都不做。这样我们一眼就能看出这个性质了吧。

接着之前的分析。 如果矩阵的行列式为0——也就是空间被压缩降维了,我们之前做的这些还成立吗?从几何的角度来说显然是不可以的,你肯定无法做到把一条线“解压缩”为一个平面——这要求把一个单独的向量变为一整条线的向量,但是变换实际上是一种函数,你总不能一个输入对应多个输出吧

所以这解释了,如果矩阵的行列式为0,这个矩阵是不存在逆矩阵的。

但是,不存在逆矩阵不代表不存在解!下面我们进一步思考行列式等于0时方程的解的情况。想象在二维空间,你恰巧把一个平面压缩到了一条直线上,而向量v也在这个直线上,那么这个方程显然是有解的。具体怎么判断有解,我们留到这章的最后来说明。

4.2 秩

接着我们引入秩。我们注意到,“降维压缩”也是有区别的。譬如一个三维空间,有可能被线性变换压缩成一个平面(一个基向量与另外两个基向量组成的平面共面),有可能被压缩成一条直线(三个基向量共线)。我们怎么描述这个区别呢?答案就是秩(rank)

如果线性变换把原空间压缩成一维的,那么秩就是1。如果是二维的,那么秩就是2……以此类推。

我们来分析分析秩的性质。比如对于2*2的矩阵,秩最大显然为2,此时两个基向量张成了整个二维空间。如果是三维的矩阵,秩为2就说明空间被压缩了——此时行列式自然为0。

4.3 列空间

我们把线性变换所有可能的输出向量称作列空间。

这个其实很好理解。我们知道矩阵的列向量就是线性变换后的基向量,这些基向量张成的空间实际上就是我们所说的“列空间”。这么看来,就有秩=列空间的维数

4.4 零空间

首先,零向量一定会被包含在列空间之中,因为我们知道线性变换后原点位置不变。对于一个满秩的线性变换,只有零向量自身还落在原点。

如果不是一个满秩的线性变换,那么肯定会有“被压缩到零向量”的维度。比如说一个三维变换将空间压缩到一个平面上,会有一条线的向量落到原点。

如果这个变换是将空间压缩到直线的话,就会有一个平面的向量落到原点。

这个“变换后落到原点”的向量的集合,也就是的集合,就是“零空间”。

接下来我们就有所谓的秩-零度定理啦!一个线性变换,把个维度压缩成了零向量,剩下没有被压缩的维度就张成了列空间,我们自然就有 也可以写成 接下来我们再去解决之前遗留的“行列式等于0”时方程组的求解问题。若向量v在矩阵A的列空间之中,这实际上就是我们常说的“增广矩阵的秩=原矩阵的秩”,那么自然是有解的。解的数量呢?我们可以发现,此时显然,也就是有解且有无穷多解,自然就有无穷多组解。

事实上,我们分析到这里,行列式不等于0的说法可以被我们推广掉,换成列向量组线性无关了(只有方阵才有行列式)。

五、点积

3b1b的介绍课程里谈到了点积,得到了一个优美的对点积的看法。我也在这里记录一下。

我们都知道,点积的公式如下: 不知道大家有没有好奇过,为什么这个式子能够表示“向量b在向量a上的投影乘以向量b”呢?我们还是从二维入手,使用构造的想法去思考这个问题。

我们要把表示“向量b到向量a的投影”,能不能从一个奇异的方向入手:构造一个向量b到向量a所在直线的一个线性变换?既然要构造这样的线性变换,那我们自然要求出变换后的两个基的位置。

如上图所示。假设u是a所在向量方向的单位向量,构造“投影到这个直线”的线性变换,矩阵的两个基向量自然就是图上的两个投影后的基。现在有意思的地方来了,这两个基的值是多少呢?

神奇的结果出现了!对于基向量i,它的基向量的投影的值就是!是这个方向上单位向量的横坐标!对于基向量j,自然也是同理。所以说,对应这个线性变换的矩阵实际上就是!也就是说 就代表着向量b到向量a方向上的一个线性变换!

进一步加以分析,把这个结果拉长倍,结果就变成了: 最后一步我们为什么可以得到这个等于?这就是我们的推导所完成的任务。

六、矩阵相似、对称、正定、合同

6.1 矩阵相似

对于同阶方阵,如果存在可逆矩阵,使得

就称相似,记作

相似的几何意义是同一个线性变换在不同基下的矩阵。所以其保持着相同的特征值,行列式,秩,迹等特征,但是其不保证矩阵的对称,正定等性质。

6.2 矩阵对称

实矩阵如果满足,就称其为实对称矩阵

任意实对称矩阵都可以被正交对角化。所以其所有特征值都是实数,不同特征值对应的特征向量相互正交。所以其存在一组标准正交特征向量构成空间的一组基。

6.3 矩阵正定

通常讨论实对称矩阵。如果对任意非零向量,都有,就称正定矩阵。方程正定时表示一个椭圆或高维椭球。

判断正定矩阵,以下条件等价:所有特征值大于0,所有顺序主子式大于0。

6.4 矩阵合同

对于同阶矩阵,如果存在可逆矩阵,使得,就称合同。合同变换对应二次型的可逆变量替换。

一个矩阵的合同变换,保持其对称性,秩,惯性指数。不保持特征值,迹,行列式。