数学

3.C Matrix

定理

满秩分解

设 A \in \mathbb{F}^{m \times n} 的列秩为 r,则总存在 C \in \mathbb{F}^{m \times r}, R \in \mathbb{F}^{r \times n} 满足:

A = CR.

这个过程称为对 A 的满秩分解(书中称为 CR 分解,column-row factorization)。

证明

取出 A 的列向量组 (A_1, \dots, A_n),则由列秩的定义,可以将其缩减为列空间的一组基(即 极大无关组),且这组基将含有 r 个向量,将这组基重新拼成一个矩阵 C = (C_1, \dots, C_r),则 C \in \mathbb{F}^{m \times r}。由于 C_1, \dots, C_r 是 \operatorname{span}(A_1, \dots, A_n) 的一组基,A_1, \dots, A_n 均可以写成 C_1, \dots, C_r 的线性组合,令

A_j = r_{1j} C_1 + \cdots + r_{rj} C_r, \quad j = 1, \dots, n;

将所有 r_{ij} 拼成一个矩阵 R = (r_{ij})_{r \times n},就得到了:

A = CR.

应用

LLM 和 Diffusion 模型的低秩适配器(LoRA)技术就应用了矩阵的满秩分解。

行秩等于列秩

设 A 的列秩为 c,行秩为 r,可以对 A 做满秩分解得到 A = CR,其中 R \in \mathbb{F}^{c \times n},这说明 A 的每一行都可以由 R 的行向量组线性表示,所以 A 的行秩不大于 R 的行数 c,即 r \le c。

再将矩阵转置可以证明:cr(A) = rr(A^{\mathrm T}) \le cr(A^{\mathrm T}) = rr(A),所以列秩也不大于行秩。两者结合,得到 r = c。

BEYOND THE ARTICLE

读完了,有什么想法?

阅读已保存的问答示例,并循着引用回到原文。

查看公开问答示例
— 本文完 — 返回文章列表