「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

首页 > 教育新闻 > 教育杂谈/2018-02-09 / 加入收藏 / 阅读 [打印]

▌方程组无穷解 - 解集为一个平面

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

三个平面实际就是为一个平面:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

如果从矩阵变换的角度来理解的话, 请观察下图:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

观察要点:

  • 矩阵变换将空间压缩为一条直线;

  • 行列式为 0 , 即逆矩阵不存在, 但解仍然存在, 因为 v 刚好就在这条直线上, 还在列空间内;

  • 图形中浅蓝色平面上的所有向量在变换后都被压缩到原点, 成为零向量;

方程的通解为特解+零空间上解所有的线性组合:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

这一次我们从行视图和列视图的几何角度理解线性方程组: 每个方程组都有一个线性变换与之联系; 当逆变换存在时, 就能用逆变换来求解方程组的解;逆变换不存在时, 行列式为 0, 就需要考察向量 v 是否落在列空间内了.

09「秩 / 列空间 / 零空间」

首先让我们来做一个简短的回顾:

矩阵乘法可以理解为一个特定的线性变换, 矩阵的列向量相当基向量 i: (1,0) 和 j: (0,1) 经过变换过后的到达向量.

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

(原谅我用鼠标进行的标注吧)

空间变换后的任何向量都可以由矩阵 A 的列向量线性表出, 而这些所有可能的结果, 也就是矩阵的列所张成的列空间(Column Space).

原先的空间经过这样2x2 矩阵 A 线性变换后的空间可能会三种情况:

  • 还是平面 -仍是二维空间;

  • 被压缩为一条线 - 变成了一维;

  • 被压缩到原点 - 零维;

在数学专业的词汇来表示线性变换后空间的维数, 称之为矩阵的秩( Rank ) . 换句话说, 列空间就是矩阵的列所张成的空间. 所以矩阵秩的另一种定义可以说是列空间的维数. 经过变换后被压缩到原点的向量集合, 称为矩阵 A 的"零空间"(Null Space)或"核"(Kernel), 记为 Null(A) 或 Ker(A).

对照上面的三种情况, 来分别来观察.

▌第 1 种情况: 变换后仍是平面

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

观察要点:

  • 如果经过矩阵 A 变换后的结果是一个平面, 则 rank( ) = 2, 空间没有被压缩扁平化, 因此可逆, 称之为非奇异矩阵;

  • 这样秩与列数相等, 称之为满秩(Full Rank)矩阵.

  • 对于满秩矩阵来说, 变换后唯一落在原点的就是零向量本身, 也就是 dim Ker( ) = 0;

▌第 2 中情况: 变换后被压缩为一条直线

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

  • 当变换的结果是一条直线, 该矩阵是一维的, 称rank(A) = 1, 此时矩阵不可逆, 称为奇异矩阵;

  • 这样非满秩矩阵, 会将空间压缩到更低的一维直线上, 也就是由嫩绿色直线上一系列的向量在变换后成为零向量;

  • 零空间的维度为 1, dim Ker(A) = 1;

▌第 3 种情况: 变换压缩到原点

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

  • 当变换的结果是压缩到原点, 则该矩阵是零维的, 称 rank(A) = 0;

  • 而零空间维度为 2, dim Ker(A) = 2;

▌维数定理

假设 A 是 mxn 矩阵(非方阵的情况, 下次会介绍), 维数定理就是:

dim Ker(A) + rank(A) = n

相信如果理解透彻 2x2 矩阵的情况, 那更高维的矩阵也就清楚了.

10「矮矩阵 / 长矩阵」

矩阵乘法可以理解为一个特定的线性变换, 比如在 2x2 的可逆矩阵表示就是二维空间的(可逆)变换; 3x3 的可逆矩阵表示三维空间的变换.

这些都是 nxn 型的矩阵, 本节来看看更一般 mxn 矩阵, 也就是非方阵的情况 -- 分两大类:行数小于列数的"矮矩阵"和行数大于列数的"长矩阵".

▌矮矩阵

所谓"矮矩阵"就是 mxn 矩阵 A 的维数 m < n 的情况:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

从方程组来说, 就是未知量为 n , 而方程个数 m .

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

以上面 2x3 矩阵而言, 就是未知量 x 从三维空间被压缩到二维平面的线性变换, 也就是说存在了压缩扁平化的操作, 观察下图:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

观察要点:

  • 三维空间被压缩为平面;

  • 属于零空间的向量集合被压缩到零向量, 可以认为在变换过程中丢失了一部分信息;

  • 三维空间的基底在变换后落在平面上, 并且坐标分别为(3,1),(1,5),(4,9);

这样矩阵压缩的行为, 当然可以从二维平面到一维直线, 如看下图的变换矩阵(1,2) 的作用下, 线性空间是怎样的变化过程:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

观察要点:

  • 属于零空间的向量集合被压缩到零向量;

  • 二维空间的基底在变换后落在数轴上(直线)上, 并且变换后坐标分别为 1 和 2;

类似这样对空间压缩的操作经常被用于对数据的压缩, 比如原始数据维数太大, 就需要找到某种变换将原始高维属性空间降为更低维的空间, 未来再主成分分析 PCA 时候, 我们再来更详细的图形展示.

▌长矩阵

反过来考虑当矩阵 A 维数 m > n 的长矩阵:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

这样未知数要比方程数少的情况, 对应的是变换会从低维到高维空间进行的. 比如下面矩阵就是从二维变换到三维空间的映射:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

类似, 如果从一维到三维空间的变换矩阵也一定属于长矩阵形状的.

无论是矮矩阵, 还是长矩阵, 这样的非方阵和方阵的一个明显不同是, 对于方阵我们可以计算它的行列式, 如果不是方阵的话,就不行列式这个概念了.

11「特征值 / 特征向量」

“特征”一词译自德语的eigen, 意味着“自身的”,“有特征的” — 这强调了特征值对于定义特定的线性变换上是很重要的.

▌特征值 / 特征向量

我们来观察在矩阵 A 的作用下空间发生的线性变换, 注意下图中红色向量和绿色向量的变化:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

观察要点:

  • 空间发生了倾斜, 但(黑色虚线)直线还是直线, 依然保持平行(线性性质);

  • 变换过程中发生了镜像翻转, 所以行列式为负值 -2;

  • 基向量 i 变换到 (-2,-2) 处, 基向量 j 变换到 (2,3) 处;

  • 红绿两个向量都随之发生了旋转;

是不是空间中所有的向量都会进行旋转呢? 还是这个矩阵变换为例, 再来观察下面这 3 个向量.

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

观察要点:

  • 红绿 3 个向量的长度发生了伸缩变换, 但仍在原来的直线方向上, 并未发生旋转;

  • 两条直线上的任何其他向量都只是被拉伸为原来的 2 倍和 -1 倍, 如红色两个向量都伸长为 2 倍;

  • 除了这两条直线外, 空间中的其他向量在变换过程中都有旋转(见上图);

这里只有长度伸缩起了变化, 而方向仍在原直线上的向量就是矩阵 A 的特征向量(Eigenvectors. 伸缩的倍数, 就是特征值(Eigenvalues), 红色向量 (1,2) 伸长了 2 倍, 特征值为 2; 绿色向量 (2,1) 伸缩倍率为 -1, 相应特征值为 -1.

一般而言, 对于 nxn 方阵 A , 当存在向量 v 不是零向量, 且满足

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

等号左边是矩阵向量的乘积, 而右边是数乘向量.

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义

▌特征值的计算

如何求解出特征值呢, 考虑将上面等式右边项移项:

「图解线性代数」-以动画方式轻松理解线性代数的本质与几何意义