矩阵的四个子空间
给定一个方程式
是否存在解?- 如果存在的话,解是否唯一?
- 需要满足什么条件,才能让方程式有解?
- 如果有解的话,如何找到所有满足方程式的解
也可以把上面这几个问题从工程的观点上进行提问:
- 如果有一个系统
,我们期望它能输出 ,我们想知道这个系统是否具备这个能力,使得某个 input 可以变成 。 或者反过来说,某个输出 非常讨厌,我们不想让系统 产生, 会不会有可能会输出 ? - 如果可以,input 是唯一的吗?
- 否则,这个系统
应该如何设计,才能让我们能够输出 - 并且通过这个系统的设计,找出所有可能的 input,让 input的生产也变得更简单些
为了回答上述问题,我们需要去了解矩阵(系统)
Column space
Column Space 能让我们回答一个问题,即
Column Space 就是
而只有当
那如何判断
这样就回答了
同时,
Nullspace
为什么要找 nullspace?
如果我们通过 Column Space 知道了
如果 nullspace 不只有零向量,说明
而 nullspace 就是看
可以这样想,如果
所以一旦有
通过了解 Column Space 和 Nullspace ,可以回答 存在性和唯一性的问题。通过分析 Column Space,我们可以知道
Row space
对于
Left Nullspace
对称的,
如果说 Nullspace 是对
对于
对于 Row space 和 Left Nullspace,我们能解决
了解这四个矩阵子空间有什么用呢?
如果我们在分析一些系统时,能够将系统转换成矩阵,我们就可以使用通过分析矩阵的四个子空间,来对这个系统进行分析。也就是把现实世界的系统建模成矩阵,通过矩阵来了解系统。
比如,如果代表系统的矩阵, 是非满秩的,那就代表着矩阵
- row space 维度为
, nullspace 维度为 ,互相垂直。 - column space 维度为
, left nullspace 维度为 ,互相垂直。
上面这张图的是从几何观点来看矩阵
附:找 nullspace 的步骤
给出一个矩阵
- 通过高斯消去法找到
,(此是的 就不一定叫做上三角了,因为有可能不是方针,所以现在 U 叫做 Row Echelon Form,阶梯形式) - 从高斯消去法得到的
,可以从中找到 Pivots (Pivots的数量就是 rank) - 在
中,包含 pivot 的列,叫做 pivot column, 不包含 pivot 的列,叫做 free column - 对应的,如果在方程中,pivot column 对应的变量,叫做 pivot variable,free column 对应的变量,叫做 free variable
- 回到方程中,把 pivot variable 使用 free variable 进行代换。因为 pivot variable 太重要了,不能去动它们,我们能动的是 free variable。有点像自变量和因变量,free variable 像自变量,我们可以自由的给他们定义值,但是 pivot variable 不是我们能定的,它们像因变量,一旦 free variable 给出后,它们就定下来了
- 由上一步得到的 free variable将原来的
替换成 ,重新写成方程 的形式,就可以把 等价换成各个 free variable 的线性组合,这样的线性组合形成的空间,是 的解空间。而这样的线性组合形成的空间,就是 nullspace - Nullspace 的维度,就是 free variable 的个数。所以从
通过高斯消去得到的 不仅能告诉我们关于 的 rank (pivot column个数),还能告诉我们关于 的 nullspace 的维度(free column个数)