[UCAS矩阵论]4.3矩阵的满秩分解
概念
满秩分解:设 \(A\in\mathbb C^{m\times n}_r\),若存在矩阵 \(F\in\mathbb C^{m\times r}_r\) 和 \(G\in\mathbb C^{r\times n}_r\),使得 \(A=FG\),则称为 \(A\) 的满秩分解。
当 \(A\) 列满秩或行满秩时,\(A\) 可分解为单位矩阵及其本身,称作平凡分解。
定理:设 \(A\in\mathbb C^{m\times n}_r\),则 \(A\) 的满秩分解存在。
证明过程就是构造过程。
设 \(A=(a_1,\ldots,a_n)\),取其列向量的一个极大线性无关组,设为 \(\{a_{i1},\ldots,a_{ir}\}\),则 \(A\) 的各列都可以表示为该线性无关组的线性组合,即: \[a_i=g_{1i}a_{i1}+g_{2i}a_{i2}+\cdots+g_{ri}a_{ir},\quad\forall\ i=1,\ldots,n\] 写作矩阵形式: \[A=FG=\begin{bmatrix}|&|&&|\\a_{i1}&a_{i2}&\ldots&a_{ir}\\|&|&&|\\\end{bmatrix}\begin{bmatrix}g_{11}&g_{12}&\cdots&g_{1n}\\g_{21}&g_{22}&\cdots&g_{2n}\\\vdots&\vdots&\ddots&\vdots\\g_{r1}&g_{r2}&\cdots&g_{rn}\end{bmatrix}\] 这样就构造出了 \(A\) 的满秩分解。
注意:满秩分解并不唯一。设 \(A=FG\),\(D\in\mathbb C^{r\times r}_r\),则 \(A=FDD^{-1}G=(FD)(D^{-1}G)\) 也是一个合法的满秩分解。
计算方法
上文中我们通过寻找极大线性无关组并将 \(A\) 的各列表示为其线性组合的方式构造出了满秩分解,但这种计算方法太麻烦了。有没有更简单的计算方法呢?
化行阶梯形
设 \(A\in\mathbb C^{m\times n}\) 经初等行变换后化作行阶梯形: \[ A\xrightarrow{\text{行}} B\iff PA=B\iff A=P^{-1}B \] 将 \(B\) 与 \(P^{-1}\) 写作如下分块形式: \[ P^{-1}=\left[\begin{array}{c:c}F_{m\times r}&S_{m\times(m-r)} \end{array}\right],\quad B=\begin{bmatrix}G_{r\times n}\\\hdashline O_{(m-r)\times n}\end{bmatrix} \] 那么: \[ A=P^{-1}B=\left[\begin{array}{c:c}F_{m\times r}&S_{m\times(m-r)} \end{array}\right]\begin{bmatrix}G_{r\times n}\\\hdashline O_{(m-r)\times n}\end{bmatrix}=FG \] 也就是说满秩分解中的 \(F\) 就是 \(P^{-1}\) 的前 \(r\) 列,\(G\) 就是 \(B\) 的前 \(r\) 行。
然而,这个方法需要求解 \(P^{-1}\),依然不是很友好,因此我们有下面的方法。
化 Hermite 标准形
Hermite 标准形:所谓的 Hermite 标准形其实就是行最简阶梯形: \[ \begin{bmatrix} 0&1&\times&\times&0&\times&\times\\ 0&0&0&0&1&\times&\times\\ 0&0&0&0&0&0&0 \end{bmatrix} \] 定理:任意非零矩阵 \(A\in\mathbb C^{m\times n}_r\) 都可以通过初等行变换化为 Hermite 标准形 \(B\),且 \(B\) 的前 \(r\) 行线性无关。
列置换矩阵:\(P=(e_{j_1},e_{j_2},\ldots,e_{j_n})\),其中 \(j_1,\ldots,j_n\) 是 \(1,\ldots,n\) 的一个排列。\(AP\) 的作用就是对 \(A\) 进行列置换。
根据以上的知识,我们可以首先通过初等行变换将 \(A\) 化作 Hermite 标准形 \(B\): \[ A\xrightarrow{\text{行}}B\iff PA=B\iff A=P^{-1}B \] 与上一节不同的是,由于 \(B\) 现在是 Hermite 标准形,因此存在一个置换矩阵 \(P_1\),使得列置换后可以写作如下分块形式: \[ BP_1=\left[\begin{array}{c:c}I_r&B_{12}\\\hdashline O&O\end{array}\right] \] 因此: \[ AP_1=P^{-1}BP_1=\left[\begin{array}{c:c}F&S\end{array}\right]\left[\begin{array}{c:c}I_r&B_{12}\\\hdashline O&O\end{array}\right]=\left[\begin{array}{c:c}F&FB_{12}\end{array}\right] \] 也就是说,上一节中为了求解 \(F\) 我们要算 \(P^{-1}\),但这里我们发现 \(F\) 就是 \(A\) 经过同样的列置换后的前 \(r\) 列!
并且实际计算中我们不必真的置换,只需要观察 \(B\) 中哪些列构成单位阵,那么拿出 \(A\) 中对应的列构成 \(F\) 即可。
例:设 \(A=\begin{bmatrix}1&0&1&1\\2&1&2&1\\2&0&2&2\\4&2&4&2\end{bmatrix}\),求 \(A\) 的满秩分解。
解:将 \(A\) 化作 Hermite 标准形: \[A\xrightarrow{\text{行}}\begin{bmatrix}1&0&1&1\\0&1&0&-1\\0&0&0&0\\0&0&0&0\end{bmatrix}=B\] 那么 \(G\) 就是 \(B\) 的前两行: \[G=\begin{bmatrix}1&0&1&1\\0&1&0&-1\end{bmatrix}\] 又因为 \(B\) 的前两列构成了单位阵,所以取出 \(A\) 的前两列构成 \(F\): \[F=\begin{bmatrix}1&0\\2&1\\2&0\\4&2\end{bmatrix}\] 这样就得到了满秩分解:\(A=FG\).
QR 分解的扩展
上一篇的 QR 分解是对非奇异方阵或列满秩矩阵讨论的,即:
- 若 \(A\) 是非奇异方阵,则可分解为正交/酉矩阵 \(Q\) 与非奇异上三角矩阵 \(R\) 的乘积,且在除去相差一个对角元素的绝对值/模全等于 1 的对角矩阵外,分解唯一。
- 若 \(A\) 是列满秩矩阵,则可分解为 \(Q\) 与非奇异上三角矩阵 \(R\) 的乘积,其中 \(Q^HQ=I\)(即各列正交),且在除去相差一个对角元素的绝对值/模全等于 1 的对角矩阵外,分解唯一。
那么如果 \(A\) 不是列满秩的呢,这种情况下我们依旧可以保持 \(Q\) 各列的正交性,但是 \(R\) 不再是上三角矩阵。
定理:设矩阵 \(A\in\mathbb C^{m\times n}_r\),则有分解: \[ A=QR \] 其中 \(Q\in\mathbb C^{m\times r}_r\) 且 \(Q^HQ=I\),\(R\in\mathbb C^{r\times n}\) 且行线性无关。
证明:对 \(A\) 进行满秩分解: \[A=FG\] 其中 \(F\in\mathbb C^{m\times r}_r\),\(G\in\mathbb C^{r\times n}_r\),对 \(F\) 作 QR 分解: \[F=QR_1\] 其中 \(Q\in\mathbb C^{m\times r}_r\) 且 \(Q^HQ=I\),\(R_1\in\mathbb C^{r\times r}_r\) 为非奇异上三角矩阵。
因此, \[A=Q(R_1G)=QR\] 其中 \(R=R_1G\in\mathbb C^{r\times n}_r\) 为行线性无关的矩阵。
证毕。