线性变换(Linear transformation)
线性变换角度解读矩阵
变换和“函数”的定义大体相当,都是获得输入,输出对应的结果。线性变换考虑的是接受一个向量输出一个向量的变换。
对于线性变换而言,它突出“线性”原则。直线在变换后仍然为直线,原点保持固定。线性变换可以看做是“保持网格线平行且等距分布”。我们可以得到线性变换的一个重要推论,即变换后的 v → \overrightarrow{v} v 同样本为变换后的 i ^ \hat{i} i^和变换后的 j ^ \hat{j} j^的线性组合,并且该线性组合和变换前一致。如下图,他们保持了 v → = − 1 i ^ + 2 j ^ \overrightarrow{v} = -1 \hat{i} + 2 \hat{j} v=−1i^+2j^的关系。
![]() | ![]() |
---|
变换后的基向量分别落在了 [ 1 − 2 ] T [1 \,\, -2]^T [1−2]T和 [ 3 0 ] T [3 \,\, 0]^T [30]T这两个位置上,那么根据 v → \overrightarrow{v} v 和基的线性组合关系,可以简答的计算出变换后的 v → \overrightarrow{v} v 坐标为 [ 5 2 ] T [5 \,\, 2]^T [52]T上。

在线性代数中,我们通常使用 i ^ \hat{i} i^和 j ^ \hat{j} j^来表示二维空间的基向量(向量空间中任意一个元素都可以唯一地表示成基向量的线性组合)。如果基中元素个数有限,就称向量空间为有限维向量空间,将元素的个数称作向量空间的维数。那么对于二维空间的线性变换而言,我们只需要记录两个基向量变换后的位置,就可以得到任意向量经过该线性变换后的结果。
如此以来, v → \overrightarrow{v} v可以是向量空间中的任意元素。在看待线性变换时,我们其实可以从向量的层次跳出来,以整个空间维度来研究线性变换带来的影响。换而言之,更好地体会线性变换对整个空间形状的改变,我们可以对空间中所有的点同时做变换。在下面的图中,白色线为变换前的空间形状,蓝色线为变换后的空间形状。(需要特别指出变换后 v → \overrightarrow{v} v的坐标 [ 5 2 ] T [5 \,\, 2]^T [52]T代表的是变换后的 v → \overrightarrow{v} v是在原始空间的位置。在变换后的空间中,用新的基地表示 v → \overrightarrow{v} v的话,还是 [ − 1 2 ] T [-1 \,\, 2]^T [−12]T)

那么推广一下,该变换对于空间中任意的元素,可以有如下的表示。

由此可以得出,一个二维线性变换可以仅由四个数字完全确定。如果我们将变换后的基地坐标放到一个 2 × 2 2\times 2 2×2的格子中,称其为 2 × 2 2 \times 2 2×2的矩阵。这样我们将可以从线性变换的角度看待矩阵,矩阵的列为变换后的基向量,矩阵和向量的乘法看做他们的线性组合。
![]() | ![]() |
---|
特殊的线性变换
旋转
将空间逆时针旋转 90 ° 90 \degree 90° ,有了第一部分的铺垫,可以很快的写出来这个线性变换, [ [ 0 1 ] T [ − 1 0 ] T ] [[0 \,\, 1]^T \,\,[-1\,\, 0]^T] [[01]T[−10]T]。原理上讲就是同时旋转 i ^ \hat{i} i^和 j ^ \hat{j} j^,然后写出他们旋转后的坐标。
剪切(Shear)
保持 i ^ \hat{i} i^不变, j ^ \hat{j} j^移动到 [ 1 1 ] T [1 \,\, 1]^T [11]T
矩阵对应的线性变换
上面我们分析的主体是线性变换,引出了矩阵这一强大的载体。那如果给定矩阵,同样的可以把它分解为线性变换。将原空间的基底对应矩阵的列进行转换,就得到了矩阵如何对应一个线性变换。
那么,考虑一种特殊情况,变换后的基底之间成倍数关系,那么该矩阵会将二维空间(以二维空间为例)的形状改变成什么样子呢?直接上图,也就是将二维空间压成了一维空间。

矩阵乘法
矩阵乘法,在线性变换视角下,可以看做是一个线性变换作用域某个特定向量。向量 [ x y ] T [x \,\, y]^T [xy]T可以看做是对基底(矩阵的列)的线性组合。在线性变换前, [ x y ] T [x \,\, y]^T [xy]T作用的对象是 [ [ 1 0 ] T [ 0 1 ] T ] [[1 \,\, 0]^T \,\,\, [0 \,\, 1]^T] [[10]T[01]T],即 [ i ^ j ^ ] [\hat{i} \,\, \hat{j}] [i^j^]。
矩阵乘法与线性变换复合
两个矩阵相乘有着几何意义,也就是两个线性变换相继作用。
![]() | ![]() |
---|
任意两个矩阵乘法。
M 1 M 2 ≠ M 2 M 1 A B C = A ( B C ) = ( A B ) C M_1 M_2 \neq M_2 M_1 \\ ABC = A(BC) = (AB)C M1M2=M2M1ABC=A(BC)=(AB)C
参考内容
强烈推荐观看3Blue1Brown,我的评价是醍醐灌顶。