矩阵的秩可以直观地理解为筛眼的大小:

单位矩阵 pytorch_矩阵的秩

下面就来解释这句话是什么意思?

1 矩阵的作用

假设对于向量 x1 、 x2、 x3、x4 有:

单位矩阵 pytorch_矩阵的秩_02

上述关系可以用图像来表示,左侧的向量 x1 、 x2、 x3、x4,在 A 的作用下,变为了右侧的向量 y1 、y2 、y3 、y4 :

单位矩阵 pytorch_矩阵_03

将各个向量依次连起来就得到了两个矩形。那么可以这么理解,左侧的矩形在 A 的作用下,变为了右侧的矩形:

单位矩阵 pytorch_单位矩阵 pytorch_04

2 矩阵的秩

如果 A 的秩不一样,那么左侧的矩形在 A 的作用下,右侧就可能得到不同的图形:

单位矩阵 pytorch_线性代数_05

有一个很明显的特点,矩阵的秩 rank(A) 越小,得到的图形越小(这里直接给结论了,细节就不展开了):

单位矩阵 pytorch_矩阵的秩_06

3 矩阵是筛子

因为上面的结论,所以可以将矩阵 A 看作一个筛子:

单位矩阵 pytorch_矩阵的秩_07

那么矩阵的秩 rank(A) 可以看作筛眼的大小,rank(A) 越小对应的筛眼越小(忽略掉筛子的形状,下面用带网格的圆来表示筛子):

单位矩阵 pytorch_矩阵的秩_08

筛眼越小,自然漏过去的越小。

4 矩阵复合的秩

把矩阵的秩看作筛眼的大小还是有一定解释能力的。比如矩阵的秩有如下的性质,该性质也称为矩阵复合的秩:

单位矩阵 pytorch_矩阵_09

A 、B 可以看作两个筛子:

单位矩阵 pytorch_单位矩阵 pytorch_10

可以用带网格两个圆来表示这两个筛子,可以看到各自的筛眼大小不同,也就是各自的矩阵的秩不相同:

单位矩阵 pytorch_线性代数_11

当这两个筛子叠在一起的时候,叠加部分的筛眼变小了,比单独某一个筛子的筛眼要小:

单位矩阵 pytorch_矩阵_12

所以此时有:

单位矩阵 pytorch_线性代数_13

当然还有可能 A 、B 如下:

单位矩阵 pytorch_单位矩阵 pytorch_14

这时叠在一起时,叠加部分的筛眼等于其中某一个筛子的筛眼:

单位矩阵 pytorch_矩阵的秩_15

 

所以此时有:

单位矩阵 pytorch_单位矩阵 pytorch_16

综合起来就是:

单位矩阵 pytorch_矩阵的秩_17

5 满秩矩阵复合的秩

满秩矩阵 P 可以看作完全没有筛眼的筛子:

单位矩阵 pytorch_单位矩阵 pytorch_18

 

这样两者复合,筛眼大小就完全取决于 A :

单位矩阵 pytorch_单位矩阵 pytorch_19

 

所以可得到满秩矩阵复合的性质:

单位矩阵 pytorch_矩阵_20