Rank 秩

问题的引入

假设方程:

{x+2y+3z=62x+4y+6z=12x+y+z=3\begin{cases} x + 2y + 3z = 6 \\ 2x + 4y + 6z = 12 \\ x + y + z = 3 \end{cases}

设 系数 矩阵 AA

A=(123246111)A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 1 & 1 & 1 \end{pmatrix}

想问一个问题:这个矩阵中到底有多少个“真正独立的信息”? 这就是 秩(rank) 想要回答的问题。

从行的角度看:有多少个独立的约束?

从方程行的角度上看这 3 个方程:

  • 第 2 个方程 = 2 × 第 1 个方程,第 2 行是第 1 行的倍数,因此没有提供新的独立约束;
  • 第 3 个方程和第 1 个方程不成比例
  • 这三个方程实际上只有 2 个独立的约束

也就是说,第 2 个方程是废话——它没有带来任何新信息。有没有第 2 个方程都不会影响对整个方程的求解。真正独立的方程只有 2 个。 所以:

rank(A)=2rank(A)=2

我们可以说:有 2 个真正独立的约束作用在 3 个未知数上。会留下 1 个自由度。在这个系数矩阵中,行秩为2 。意思是「有 2 个真正的约束在起作用」。

自由变量的个数=nrank(A)\boxed{\text{自由变量的个数} = n-\operatorname{rank}(A)}

其中 n 是未知数的个数。

从列的角度看:输出有多少个独立方向?

现在把三列抽出来,看成三个向量

a1=(121),a2=(241),a3=(361)\mathbf{a}_1 = \begin{pmatrix} 1 \\ 2 \\ 1 \end{pmatrix}, \quad \mathbf{a}_2 = \begin{pmatrix} 2 \\ 4 \\ 1 \end{pmatrix}, \quad \mathbf{a}_3 = \begin{pmatrix} 3 \\ 6 \\ 1 \end{pmatrix}

它把输入

x=(xyz)R3\mathbf{x} = \begin{pmatrix} x\\y\\z \end{pmatrix} \in\mathbb R^3

变成一个输出:

Ax=A(xyz)=x(121)+y(241)+z(361)=xa1+ya2+za3A\mathbf{x} = A\begin{pmatrix}x\\y\\z\end{pmatrix} = x \begin{pmatrix}1\\2\\1\end{pmatrix} +y \begin{pmatrix}2\\4\\1\end{pmatrix} +z \begin{pmatrix}3\\6\\1\end{pmatrix} = xa_1 + ya_2 + za_3

也就是说,输出其实就是三个列向量的组合。

但仔细看:

a3=2a2a1\mathbf{a}_3 = 2\mathbf{a}_2 - \mathbf{a}_1

这意味着,其实方程压根不需要a3a_3参与进来:

Ax=xa1+ya2+z(2a2a1)A\mathbf{x} = xa_1+ya_2+z(2a_2-a_1)

整理:

Ax=(xz)a1+(y+2z)a2A\mathbf{x} =(x−z)a_1+(y+2z)a_2

只需要 a1a_1a2a_2 这 2 个列向量就可以表示 A(xyz)A\begin{pmatrix}x\\y\\z\end{pmatrix}。不管输入的 x,y,zx,y,z 是什么,最终输出都只需要这两个方向就能表示。

也就是说,矩阵的三个列向量组成的所有可能的输出:Im(A)Im(A) 像空间)实际只要用 2 个列向量 来表示。所有可能的输出都属于 a1a_1a2a_2Span 张成空间

span{a1,a2}.\operatorname{span}\{a_1,a_2\}.

也就是说:

Im(T)=span{a1,a2}\boxed{ \operatorname{Im}(T) = \operatorname{span}\{a_1,a_2\} }

a1,a2a_1,a_2 是线性独立的,所以这个空间是二维的

为什么"线性无关"就能数出维度?这正是 Basis 基 的定义在起作用:一组向量如果张成某个空间、又线性无关,它就是那个空间的一组;而空间的维度 = 基里向量的个数。对 a1,a2a_1, a_2 做两步检查:

  1. 张成:上面已经推过——所有输出都能只用 a1,a2a_1, a_2 表示,所以 span{a1,a2}=Im(T)\operatorname{span}\{a_1,a_2\} = \operatorname{Im}(T) ✓;
  2. 线性无关a1=(1,2,1)\mathbf{a}_1=(1,2,1)a2=(2,4,1)\mathbf{a}_2=(2,4,1) 不成比例(前两个分量是 2 倍关系,第三个分量却是 1 倍),谁也表示不了谁 ✓。不放心就解一下 c1a1+c2a2=0c_1\mathbf{a}_1 + c_2\mathbf{a}_2 = \mathbf{0}:第三分量要求 c1+c2=0c_1 + c_2 = 0,第一分量要求 c1+2c2=0c_1 + 2c_2 = 0,两式相减得 c2=0c_2 = 0,代回得 c1=0c_1 = 0——只有零解,确实无关。

两个条件都满足,所以 {a1,a2}\{a_1, a_2\}Im(T)\operatorname{Im}(T) 的一组,基里有 2 个向量,于是 dimIm(T)=2\dim\operatorname{Im}(T) = 2

反着想就更清楚:如果 a1,a2a_1, a_2 线性相关(共线),它们张成的只是一条直线,维度就是 11决定维度的不是"有几个向量",而是"有几个独立方向"——这正是 Span 张成空间 里强调的落点,也是秩真正在数的东西。

直观上:

R3T一个二维子空间\mathbb R^3 \xrightarrow{\quad T\quad} \boxed{\text{一个二维子空间}}

也就是说输入有 3 个方向可以动,但这个矩阵最终只能让输出沿着 2 个独立方向动。

rank(A)=2rank(A)=2

定义A

秩(Rank)是方程的系数矩阵的列(或行)向量 张成空间的维数

v1vkv_1 \dots v_k 为 方程的系数矩阵 AA 的 列(或行)向量,则矩阵AA为:

rank(A)=dim(span(v1,,vk))\boxed{ \operatorname{rank}(A) = dim( span(v_1,…,v_k) ) }

定义B

对于线性变换 TT

rank(A)=dim(Im(T))\boxed{ \operatorname{rank}(A) = \dim(\operatorname{Im}(T)) }

定义C

方程的系数矩阵 AA 中 最大线性无关的行(或列)向量的个数

rank(A)=系数矩阵中 最大线性无关的行向量的个数\boxed{ \operatorname{rank}(A) = \text{系数矩阵中 最大线性无关的行向量的个数} }

理解:为什么 行秩 = 列秩

行秩=列秩=rank(A)\boxed{ \text{行秩} = \text{列秩} = \operatorname{rank}(A) }

对于同一个矩阵 AA行空间的维数列空间的维数永远相等,这个共同的数字就是秩(Rank)

把矩阵想成“信息表”

xyz
方程1123
方程2246
方程3111

是在描述:有多少个独立的“规则/约束”?是在描述:有多少个独立的“输出方向”?虽然观察角度不同,但它们都在数这个矩阵里面到底有多少份真正独立的信息

而一个矩阵不可能因为你“横着看”就有 3 份信息,换成“竖着看”又变成 2 份。所以最终会得到同一个数字。不过这只是直觉。