在知乎看矩阵乘法的意义时,无意间发现B站上讲线性代数本质的系列视频,看了几集后觉得很好。重新看一遍,把重要观点记录下来。
0. 序言
一般课堂上讲线性代数总是从如何运算的角度讲,但学生往往不理解其中意义。几何水平的理解能够让你判断出:
- 解决特定问题需要什么样的工具;
- 为什么有用;
- 解读最终结果;
而数值理解是计算过程。
线性代数中的几何理解往往和计算过程联系十分紧密。
在当今,计算过程往往依靠计算机解决。人们关注的是概念层的内涵。
这个系列的视频就是要让观众建立对线性代数几何意义的理解。
1. 向量究竟是什么
三种看待向量的观点:
- 物理学观点:向量是空间中的箭头,决定一个向量的是其长度和方向;
- 计算机学观点:向量是有序的数字列表;
- 数学观点:向量是符合加法和数乘关系的任何东西。
向量加法和数乘贯穿了线性代数始终。
提到向量,首先想象一个从原点出发的箭头;之后与坐标联系起来,就是数字列表。向量与列表之间是一一对应关系。
向量加法:
- 将向量首尾相连,从原点指向最后的终点;这种定义是因为,把向量看作一种运动,相加之后的效果等于两次运动的效果。
- 列表中对应数相加;
向量数乘:
- 将向量缩放scaling;
- 列表中每个数乘标量scaler;
线性代数就是在几何观点与数字观点之间转化。
- 线性代数为数据分析提供了一条将大量数据列表概念化、可视化的渠道。它让数据央视明晰,并且大致了解特定运算的意义。
- 线性代数为计算机图形学提供了通过操纵数字来操纵空间的方法。
2. 线性组合,张成空间,基
单位向量构成一组基向量。每个向量是单位向量的线性组合。
可以选择不同的基向量,获得合理的新坐标系。
一对新的基向量,允许我们在一对数和二维向量之间自由转化。
当我们用数字描述向量时,都依赖于我们正在使用的基。
张成空间(span):所有可以表示为给定向量线性组合的向量集合。仅通过向量加法和数乘两种基础运算,所能获得的所有可能的向量集合。
为了简化向量表达,不用把向量想成从原点出发的箭头,通常用向量的终点代表该向量。
对大部分二维向量来说,张成的空间就是整个无限大的二维平面。
- 线性相关:如果从向量集合中移除一个向量而不改变所张成的空间。
- 线性无关:添加一个向量能够拓展所张成的空间。
基:向量空间的一组基是张成该空间的一个线性无关向量集。
3. 矩阵与线性变换
变换:接受输入向量,产生输出向量。变换这个词暗示用运动的思维去思考。
将向量看做成点,那么向量的变换就是点位置的变化;拓展到网格上所有点的变化,本质上是空间形状的改变。
线性变换的特殊性:
- 一切直线在变换后仍然是直线,不能有所弯曲;
- 原点必须保持固定;
线性变换:保持网格线平行且等距分布。例如:绕原点旋转。
问题:如何用数值描述线性变换。实际上,只需记录两个基向量变换后的位置。将向量表达为基向量的线性组合,其线性组合关系不变。
不需要看线性变换具体是什么,只需要看基向量坐标怎么变就行了。即,二维线性变换仅由四个数字完全确定(变换后基向量的坐标)。将基向量以列向量形式写成矩阵,该矩阵对应着该线性变换。
矩阵左乘一个同维度向量,得到变换后的向量。
线性相关的二维矩阵:将二维空间压缩到一条直线上。
矩阵都能解读为对空间的特定变换。
4. 矩阵乘法与线性变换复合
变换之后,再变换一次。两次变换的复合变换和某次一次変换有相同效果。所以诞生了矩阵乘法。
矩阵乘积要从右往左读,起源于函数的记号。
矩阵乘法
所以
5. 行列式
测量变换对空间有多少拉伸或挤压。也就是测量一个给定区域面积增大或减小的比例。知道单位面积的变化,就知道了任意面积的变化。
行列式就是缩放比例,即线性变换改变面积的比例。
如果行列式为0,说明该变换将整个平面压缩到一条线,甚至一个点上。只需要检验行列式是否为0,就能检验矩阵所代表的变换是否将空间压缩到更小的维度上。
而行列式是允许是负数的,像是将空间翻转了。如果变换后,j变到i的右边,说明行列式是负的。而绝对值还是缩放比例。
对于三维空间,指的是体积的变化。行列式为0,说明整个空间被压缩为0体积,也就是平面或直线或点。
行列式为0的矩阵,其列必定线性相关。
6. 逆矩阵、列空间、秩、零向量
线性代数的用处:
- 用来描述对空间的操纵,计算机图形学和机器人学;
- 求解线性方程组;
需要用到逆矩阵,也就是逆变换。
而如果det(A)=0,也就是说A将空间压低一个维度,那么没有逆运算,不能将一条线“解压缩”为一个平面。
而如果v恰好在A压缩的直线上,那么就有任意解。
秩:变换后空间的维数。
列空间:所有可能的输出向量构成的集合,也就是矩阵的列所张成的空间。
当秩达到最大值时,也就是秩与列数相等时,也就是“满秩”。
零向量一定会包含在列空间中。对于一个满秩变换来说,唯一能在变换后落在原点的就是零向量自身。对于非满秩变换,会有一系列向量在变换后成为零向量。变换后落在原点的向量的集合,成为矩阵的“零空间Null space”或“核Kernel”。