对矩阵的理解有三个方向:方程组、向量组以及线性变换。
方程组
对于一个二维矩阵的乘法:
要理解它的意义,将第二个矩阵(向量)换成
,即:
这就得到了一个方程组:
这个方程组几何意义很直观,就是二维坐标系中的两条直线,它的解就是两条直线的交点:

将维度扩大为三维:
同样将换为
:
写为方程组:
几何意义是三维维坐标空间中的三个平面,它的解就是三个平面的交点:

向量组
上式还可以写成:
、
和
就相当于二维向量,将它画到二维坐标系:

通过向量四边形法则即可得到:

写为线性向量组形式:

当维度扩展到四维及以上,我们无法再通过可视化的方法观察,但是形式都是一样的:
方程组:
向量组:
如果第二个矩阵不是向量,如:可以将其拆成:
这样就可以拆成相应的方程组和向量组。
线性变换
二维空间线性变换
参考视频:
【熟肉】线性代数的本质 - 03 - 矩阵与线性变换_哔哩哔哩_bilibili
【熟肉】线性代数的本质 - 04 - 矩阵乘法与线性变换复合_哔哩哔哩_bilibili
附注1 - 三维空间中的线性变换_哔哩哔哩_bilibili建议先看视频,了解线性变换的动态过程。
线性变换: "变换"本质上是指"函数",它接收输入
并输出对应结果。在线性代数中
,它接收输入向量并输出变换后的另一个向量。之所以使用"变换"而不是"函数"是为了暗示你用运动的思想去思考。
如果一个输入向量经过变换后得到另一个向量,如下所示,可以理解为Input Vector经过旋转得到了Output Vector。

我们可以想象二维坐标系中每一个输入向量经过某一个变换后都移动到对应输出向量的位置:

向量可以使用坐标来表示,所以上图向量可以转换为坐标系中的点,当所有输入向量经过某种变换移动到对应输出向量时,我们也可以看做空间中的点移动到其他点的位置:

在二维变换时,我们使用蓝色网格来直观体现空间的变换效果,白色网格则表示变化前的二维空间:

空间的变化是多种多样的:



上述的变换是复杂的,但是对于线性变换而言,它的变换必须满足两种条件:
- 空间内任意直线在变化后必须保持直线,不能有所弯曲
- 原点必须固定(如果原点移动但仍满足第一个条件,则不是线性变换,但是仿射变换)

下图所示的情况尽管网格没有弯曲,但它仍不是线性变换,因为它让空间里的直线弯曲了

所以,线性变换是一种保持网格线平行且等距分布的变换。
在计算向量经过某线性变换后的结果,只需要记录两个基向量,(
经过线性变化后的位置)。因为在原始坐标下任意一个向量都可以用基向量
表示,所以经过变换后的同一个向量同样可以用相同的基向量线性组合表示。如下所示,经过线性变换后,
的落脚点在
,
的落脚点在
,变换后的
仍等于
,所以其线性变换后的落脚点在
。
所以我们只需要知道经过线性变换后的落脚点,而不需要关心变换是怎样的,我们就可以推断任意向量经过变换后的结果。

一个二维线性变换仅由四个数字便可以完全确定,即变换后的的坐标。通常我们将这些坐标包装在一个2X2的格子中,即2X2矩阵:
其中第一列表示变换后的坐标,第二列则表示变换后
的坐标
有了这个描述线性变换的矩阵,再给定一个向量,就可以得到该向量经过线性变换后的结果,即
下面给出l旋转和剪切的变换示例:
- 旋转:例如将坐标系平面旋转90度。此时
即为旋转变换矩阵,
为任意向量。
- 剪切:基向量
坐标不变化,
发生变化。变换矩阵为
如果给出变换矩阵,也可以得到它的变换方式:

注意,如果变换后的
坐标是线性相关的,最终这个线性变换会将整个二维空间变换到一条直线上
对于2X2矩阵与2X2矩阵相乘,它们得到的结果仍然是一个2X2矩阵,它所代表的几何意义是连续做两次线性变换,把它们合并成一个新变换。例如
表示剪切,
表示逆时针旋转90°,
则表示先旋转,再剪切。

除此之外,也可以将第二个矩阵成两列来看,而第一个矩阵仍作为变换矩阵,例如
将第二个矩阵拆成
和
表示两个向量的坐标,然后分别与第一个矩阵相乘,得到变换后的结果:
三维空间线性变换
在了解了二维空间的线性变换后就很容易可以推导到三维甚至更高维:
三维空间内的线性变换依旧保持网格线平行且等距分布,并保持原点不动。

三维空间内依然使用基向量变换后的结果来得到此线性变换的方式,每个基向量均有三个坐标值,也就是说一个三维线性变换仅由四个数字便可以完全确定,即变换后的
的坐标。通常我们将这些坐标包装在一个3X3的格子中,即3X3矩阵,例如以下情形:

三维变换的变换方式与二维思路一致,都是用基向量矩阵乘以某个向量来得到向量变换后的坐标:

对于两个3X3矩阵相乘也是一样的。先应用右侧矩阵代表的变换,再应用左侧矩阵代表的变换,最后得到的3X3矩阵即为两者合并的新变换。

对于3X3矩阵乘以3X2矩阵
所代表的含义是把 3 维空间 里的 2 个向量,同时做线性变换。具体解释如下:
是两列 3 维向量,
,每一列都是一个3D 空间里的箭头,
是 3D 空间的变换(旋转、拉伸、翻转等)。所以
表示用同一个 3D 变换 A 同时作用于两个 3D 向量,然后得到转换后的两个新的 3D 向量。
对于2X3矩阵乘以3X1矩阵所代表的几何意义是把一个三维空间里的向量,投影 / 映射到二维平面上,即 "降维 + 线性变换"。2X3矩阵所做的事情就是接收一个 3D 点,然后在3D空间内对它进行拉伸、旋转等变换,最后把它拍扁、投影到二维平面上。




