满秩分解的定义、证明、求法(矩阵分解——1. 满秩分解)

满秩分解的定义、证明、求法(矩阵分解——1. 满秩分解)

〇. 前言

接下来,我将写矩阵分解这个系列的文章,包括满秩分解、正交三角分解(QR分解)、奇异值分解(SVD分解)。这些都是我们上课讲到的知识,我会对它们各自进行证明并给出详细的例题,希望对想要学习矩阵分解却没有修过这门课的的同学、想重新系统复习矩阵分解的同学带来帮助~

1、本文介绍满秩分解的定义、证明、求法。

2、看懂本文只需了解本科阶段线性代数中分块矩阵矩阵的初等变换向量组的线性相关/无关的知识,无需任何其他知识。

3、本文仅考虑实数,不考虑复数

4、本文使用细体小写字母 x 表示标量,粗体小写字母 \pmb{x} 表示列向量粗体大写字母 \pmb{A} 表示矩阵

5、有一个网页版的octave,语法与matlab几乎一样,大家可以验证自己算的结果是否正确。

一. 矩阵的秩与初等变换

我们先来复习一下线性代数中矩阵的秩与初等变换的知识。

1.1 矩阵的初等变换

如果矩阵 \pmb{A}_{m \times n} 经过初等变换(初等行变换、初等列变换)变成矩阵 \pmb{B}_{m \times n} ,就称矩阵 \pmb{A}_{m \times n} 与矩阵 \pmb{B}_{m \times n} 等价[1],记作 \pmb{A}_{m \times n}\sim \pmb{B}_{m \times n} 。初等变换不改变矩阵的秩[2]

可以使用矩阵乘法来描述初等变换,即[3]

\pmb{A}_{m \times n}\sim \pmb{B}_{m \times n} 的充要条件是存在可逆矩阵 \pmb{P}_{m \times m},\pmb{Q}_{n \times n} ,使得

\pmb{P}_{m \times m} \pmb{A}_{m \times n}\pmb{Q}_{n \times n} = \pmb{B}_{m \times n} \\\\ \tag{1}

我们对行最简形矩阵都比较熟悉了,它可以通过矩阵的初等行变换获得,而等价标准形可以通过对行最简形矩阵进行初等列变换得到。

举个例子[4]:设矩阵

\pmb{B} = \begin{bmatrix} 2 & -1 & -1 & 1 & 2 \\ 1 & 1 & -2 & 1 & 4 \\ 4 & -6 & 2 & -2 & 4 \\ 3 & 6 & -9 & 7 & 9 \end{bmatrix} \\\\ \tag{2}

它的行最简形矩阵为:

\pmb{B} \sim \begin{bmatrix} {\color{red}1} & 0 & -1 & 0 & 4 \\ 0 & {\color{red}1} & -1 & 0 & 3 \\ 0 & 0 & 0 & {\color{red}1} & -3 \\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} = \pmb{B}_1 \\\\ \tag{3}

它的等价标准形为:

\pmb{B} \sim \pmb{B}_1 \substack{ c_3 \leftrightarrow c_4 \\ c_4+c_1+c2 \\ \widetilde{c_5-4c_1-3c_2+3c_3}} \begin{bmatrix} {\color{red}1} & 0 & 0 & 0 & 0 \\ 0 & {\color{red}1} & 0 & 0 & 0 \\ 0 & 0 & {\color{red}1} & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \end{bmatrix}=\pmb{F} \\\\ \tag{4}

它的秩为 r = 3

那么,是不是任意一个矩阵都可以化成等价标准形呢?是的,我们有如下结论[4]

对于任意一个秩为 r 的矩阵 \pmb{A}_{m \times n} ,总可以通过初等变换(初等行变换、初等列变换)把它化为等价标准形

\pmb{A}_{m \times n} \sim \begin{bmatrix} \pmb{E}_r & \pmb{0}_{r \times (n-r)} \\ \pmb{0}_{(m-r) \times r} & \pmb{0}_{(m-r)\times(n-r)} \end{bmatrix}_{m \times n} = \pmb{F}_{m \times n} \\\\ \tag{5}

结合 (1) 式,我们可以把这个结论换个表述:

对于任意一个秩为 r 的矩阵 \pmb{A}_{m \times n} ,总存在可逆矩阵 \pmb{P}_{m \times m},\pmb{Q}_{n \times n} ,使得

\pmb{P}_{m \times m}\pmb{A}_{m \times n}\pmb{Q}_{n \times n} = \begin{bmatrix} \pmb{E}_r & \pmb{0}_{r \times (n-r)} \\ \pmb{0}_{(m-r) \times r} & \pmb{0}_{(m-r)\times(n-r)} \end{bmatrix}_{m \times n} = \pmb{F}_{m \times n} \\\\ \tag{6}

我们对 (6) 式两边同时左乘 \pmb{P}_{m \times m}^{-1} ,右乘 \pmb{Q}_{n \times n}^{-1} ,故 (6) 式等价于:

\pmb{A}_{m \times n} =\pmb{P}_{m \times m}^{-1} \begin{bmatrix} \pmb{E}_r & \pmb{0}_{r \times (n-r)} \\ \pmb{0}_{(m-r) \times r} & \pmb{0}_{(m-r)\times(n-r)} \end{bmatrix}_{m \times n}\pmb{Q}_{n \times n}^{-1} \\\\ \tag{7}

1.2 向量组的线性相关/无关性

关于矩阵的列向量构成的列向量组的线性相关性,有如下结论[5]

对矩阵进行初等行变换,化成行阶梯形矩阵或者行最简形矩阵后,阶梯位置元素的列号就是该矩阵的列向量组的极大线性无关组的列号,其他列号的向量均可由该极大线性无关组线性表示,且表示方式唯一。

仍以 (2) 式的矩阵 \pmb{B} 为例[5]

\pmb{B} = \begin{bmatrix} 2 & -1 & -1 & 1 & 2 \\ 1 & 1 & -2 & 1 & 4 \\ 4 & -6 & 2 & -2 & 4 \\ 3 & 6 & -9 & 7 & 9 \end{bmatrix} =(\pmb{b}_1,\pmb{b}_2, \pmb{b}_3,\pmb{b}_4,\pmb{b}_5) \\\\ \tag{8}

\pmb{B} 的行最简形矩阵为

\pmb{B} \sim \begin{bmatrix} {\color{red}{1}} & 0 & -1 & 0 & 4 \\ 0 &{\color{red}{1}} & -1 & 0 & 3 \\ 0 & 0 & 0 & {\color{red}{1}} & -3 \\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} = \pmb{B}_1 \\\\ \tag{9}

红色标注的就是阶梯位置元素,它们的列号为 {\color{red}{1}}, {\color{red}{2}}, {\color{red}{4}} ,所以矩阵 \pmb{B} 的极大线性无关组为 {\color{red}{\pmb{b}_1}}, {\color{red}{\pmb{b}_2}}, {\color{red}{\pmb{b}_4}} 。同时,从 (9) 式也可以看出,矩阵 \pmb{B} 的每个列向量写成极大线性无关组的线性表示的形式分别为:

\begin{align} {\color{red}{\pmb{b}_1}}&= 1\pmb{b}_1+0\pmb{b}_2+0\pmb{b}_4;\\\\ {\color{red}{\pmb{b}_2}}&= 0\pmb{b}_1+1\pmb{b}_2+0\pmb{b}_4;\\\\ \pmb{b}_3 &= -1\pmb{b}_1-1\pmb{b}_2+0\pmb{b}_4;\\\\ {\color{red}{\pmb{b}_4}}&= 0\pmb{b}_1+0\pmb{b}_2+1\pmb{b}_4;\\\\ \pmb{b}_5 &= 4\pmb{b}_1+3\pmb{b}_2-3\pmb{b}_4; \end{align} \\\\ \tag{10}

(10) 式写成矩阵乘法的形式:

\begin{align} ({\color{red}{\pmb{b}_1}} ,{\color{red}{\pmb{b}_2}},\pmb{b}_3,{\color{red}{\pmb{b}_4}} ,\pmb{b}_5) &= ({\color{red}{\pmb{b}_1}}, {\color{red}{\pmb{b}_2}}, {\color{red}{\pmb{b}_4}}) {\color{blue}{ \begin{bmatrix} 1 & 0 & -1 & 0 & 4 \\ 0 & 1 & -1 & 0 & 3 \\ 0 & 0 & 0 & 1 & -3 \end{bmatrix} }} \\\\ &= {\color{red}{ \begin{bmatrix} 2 & -1 & 1 \\ 1 & 1 & 1 \\ 4 & -6 & -2 \\ 3 & 6 & 7 \end{bmatrix} }} {\color{blue}{ \begin{bmatrix} 1 & 0 & -1 & 0 & 4 \\ 0 & 1 & -1 & 0 & 3 \\ 0 & 0 & 0 & 1 & -3 \end{bmatrix} }} \end{align} \\\\ \tag{11}

(11) 式的最后一行中,红色的部分就是矩阵 \pmb{B} 的列向量组的极大线性无关组构成的矩阵,而蓝色的部分就是行最简形矩阵 \pmb{B}_1 的前 r=3 行。

(11) 式,其实就是我们接下来要讲的矩阵 \pmb{B} 的一个满秩分解

二. 满秩分解的定义、证明

2.1 满秩分解的定义[6]

\pmb{A}_{m \times n} 的秩为 r ,则存在秩为 r 的矩阵 \pmb{B}_{m \times r} ,秩为 r 的矩阵 \pmb{C}_{r \times n} ,满足

\pmb{A}_{m \times n} = \pmb{B}_{m \times r} \pmb{C}_{r \times n} \\\\ \tag{12}

其中,\pmb{B}_{m \times r} 称为列满秩矩阵(因为列数等于秩), \pmb{C}_{ r \times n} 称为行满秩矩阵(因为行数等于秩)。

注:这样的分解不是唯一的。

2.2 满秩分解的证明[7]

证明:

根据 (6) 式、 (7) 式的结论:

对于任意一个秩为 r 的矩阵 \pmb{A}_{m \times n} ,总存在可逆矩阵 \pmb{P}_{m \times m},\pmb{Q}_{n \times n} ,使得

\pmb{A}_{m \times n} =\pmb{P}_{m \times m}^{-1} \begin{bmatrix} \pmb{E}_r & \pmb{0}_{r \times (n-r)} \\ \pmb{0}_{(m-r) \times r} & \pmb{0}_{(m-r)\times(n-r)} \end{bmatrix}_{m \times n}\pmb{Q}_{n \times n}^{-1} \\\\ \tag{7}

我们对 (7) 式继续化简(使用分块矩阵的乘法中间那项),得:

\begin{align} \pmb{A}_{m \times n}& =\pmb{P}_{m \times m}^{-1} \begin{bmatrix} \pmb{E}_r & \pmb{0}_{r \times (n-r)} \\ \pmb{0}_{(m-r) \times r} & \pmb{0}_{(m-r)\times(n-r)} \end{bmatrix}_{m \times n}\pmb{Q}_{n \times n}^{-1} \\\\ &= \pmb{P}_{m \times m}^{-1} \begin{bmatrix} \pmb{E}_r \\ \pmb{0}_{(m-r) \times r} \end{bmatrix}_{m \times r} \begin{bmatrix} \pmb{E}_r & \pmb{0}_{r \times (n-r)} \end{bmatrix}_{r \times n} \pmb{Q}_{n \times n}^{-1} \end{align} \\\\ \tag{13}

\begin{align} \pmb{B}_{m \times r} & = \pmb{P}_{m \times m}^{-1} \begin{bmatrix} \pmb{E}_r \\ \pmb{0}_{(m-r) \times r} \end{bmatrix}_{m \times r} \\\\ \pmb{C}_{r \times n} & = \begin{bmatrix} \pmb{E}_r & \pmb{0}_{r \times (n-r)} \end{bmatrix}_{r \times n} \pmb{Q}_{n \times n}^{-1} \end{align} \\\\ \tag{14}

所以, (6) 式的结论又可以换个表述:

对于任意一个秩为 r 的矩阵 \pmb{A}_{m \times n} ,总存在矩阵 \pmb{B}_{m \times r},\pmb{C}_{r \times n} ,使得

\begin{align} \pmb{A}_{m \times n} = \pmb{B}_{m \times r}\pmb{C}_{r \times n} \end{align} \\\\ \tag{15}

(15) 式的结论对比 (12) 式的结论,我们接下来只要证明 \pmb{B}_{m \times r},\pmb{C}_{r \times n} 的秩都为 r 即可。

由矩阵乘法的秩的性质得[8]

r = R(\pmb{A}_{m \times n})=R(\pmb{B}_{m \times r}\pmb{C}_{r \times n}) <=R(\pmb{B}_{m\times r}),R(\pmb{C}_{r \times n}) \\\\ \tag{16}

而矩阵的秩小于等于矩阵的行数、列数[9],得:

R(\pmb{B}_{m \times r}),R(\pmb{C}_{r \times n}) \le r \\\\ \tag{17}

综合 (16) 式、 (17) 式,得:

\begin{align} r \le R(\pmb{B}_{m \times r}),R(\pmb{C}_{r \times n}) \le r \\\\ R(\pmb{B}_{m \times r}),R(\pmb{C}_{r \times n}) = r \end{align} \tag{18}

证毕

三. 满秩分解的求法

在我们证明 (18) 式,即 \pmb{B}_{m \times r},\pmb{C}_{r \times n} 的秩等于 r 的时候,并没有使用这两个矩阵内部的结构。

也就是说,只要我们能找到两个矩阵 \pmb{B}_{m \times r},\pmb{C}_{r \times n} ,可以使 \pmb{A}_{m \times n} = \pmb{B}_{m \times r}\pmb{C}_{r \times n} 成立,其中 r 是矩阵 \pmb{A}_{m \times n} 的秩,那么,\pmb{B}_{m \times r},\pmb{C}_{r \times n} 的秩就一定等于 r 。这样,一个满秩分解就找到了,并不需要按照证明的方法那样去寻找。

那么,该如何寻找这样的一个满秩分解呢?

仍以 (8) 式的矩阵 \pmb{B} 为例[5]

\pmb{B} = \begin{bmatrix} 2 & -1 & -1 & 1 & 2 \\ 1 & 1 & -2 & 1 & 4 \\ 4 & -6 & 2 & -2 & 4 \\ 3 & 6 & -9 & 7 & 9 \end{bmatrix} =(\pmb{b}_1,\pmb{b}_2, \pmb{b}_3,\pmb{b}_4,\pmb{b}_5) \\\\ \tag{8}

我们观察 (11) 式:

\begin{align} ({\color{red}{\pmb{b}_1}} ,{\color{red}{\pmb{b}_2}},\pmb{b}_3,{\color{red}{\pmb{b}_4}} ,\pmb{b}_5) &= ({\color{red}{\pmb{b}_1}}, {\color{red}{\pmb{b}_2}}, {\color{red}{\pmb{b}_4}}) {\color{blue}{ \begin{bmatrix} 1 & 0 & -1 & 0 & 4 \\ 0 & 1 & -1 & 0 & 3 \\ 0 & 0 & 0 & 1 & -3 \end{bmatrix} }} \\\\ &= {\color{red}{ \begin{bmatrix} 2 & -1 & 1 \\ 1 & 1 & 1 \\ 4 & -6 & -2 \\ 3 & 6 & 7 \end{bmatrix} }} {\color{blue}{ \begin{bmatrix} 1 & 0 & -1 & 0 & 4 \\ 0 & 1 & -1 & 0 & 3 \\ 0 & 0 & 0 & 1 & -3 \end{bmatrix} }} \end{align} \\\\ \tag{11}

红色的部分是矩阵 \pmb{B}_{4 \times 5} 的极大线性无关组,所以,红色部分的列数 3 就等于矩阵 \pmb{B}_{4 \times 5} 的秩 r = 3 ;而蓝色部分是行最简形矩阵的前 r=3 行,行数也是矩阵 \pmb{B}_{4 \times 5} 的秩 r=3

因此, (11) 式就是我们要找的一个满秩分解。

我们总结一下求一个满秩分解即 (11) 式的步骤:

第一步:首先对矩阵 \pmb{A}_{m \times n} 进行初等行变换,变成行最简形矩阵 \pmb{A}_1 ,得矩阵 \pmb{A}_{m \times n} 的秩为 r

第二步:找出矩阵 \pmb{A}_{m \times n} 的列向量组的极大线性无关组构成的矩阵,这个矩阵就是满秩分解的 \pmb{B}_{m \times r}

第三步:取行最简形矩阵 \pmb{A}_1 的前 r 行构成的矩阵,这个矩阵就是满秩分解的 \pmb{C}_{r \times n}

第四步:写出 \pmb{B}_{m \times r}\pmb{C}_{r \times n} 即可。

3.1 例子1[10]

\pmb{A}_{3 \times 5} 的一个满秩分解,其中

\pmb{A}_{3 \times 5} = \begin{bmatrix} 1 & 1 & 0 & 1 & 0 \\ 0 & 1 & 1 & 1 & 1 \\ 2 & 3 & 1 & 3 & 1 \end{bmatrix} \\\\ \tag{19}

解:

第一步:首先对矩阵 \pmb{A}_{m \times n} 进行初等行变换,变成行最简形矩阵\pmb{A}_1 ,得矩阵 \pmb{A}_{m \times n} 的秩为 r

\pmb{A}_{3 \times 5} \sim \begin{bmatrix} {\color{red}{1}} & 0 & -1 & 0 & -1 \\ 0 & {\color{red}{1}} & 1 & 1 & 1 \\ 0 & 0 & 0 & 0 & 0 \end{bmatrix} = \pmb{A}_1 \\\\ \tag{20}

矩阵 \pmb{A}_{3 \times 5} 的秩 r=2

第二步:找出矩阵 \pmb{A}_{m \times n} 的列向量组的极大线性无关组构成的矩阵,这个矩阵就是满秩分解的 \pmb{B}_{m \times r}

(20) 式中,红色位置所在列号为 {\color{red}{1}},{\color{red}{2}} ,所以,矩阵 \pmb{A}_{3 \times 5} 的列向量组的极大线性无关组的列号为 {\color{red}{1}},{\color{red}{2}} ,所以,矩阵 \pmb{A}_{3 \times 5} 的列向量组的极大线性无关组构成的矩阵为:

\pmb{B}_{3 \times 2} = {\color{red}{ \begin{bmatrix} 1 & 1 \\ 0 & 1 \\ 2 & 3 \end{bmatrix}}} \\\\ \tag{21}

第三步:取行最简形矩阵\pmb{A}_1 的前 r 行构成的矩阵,这个矩阵就是满秩分解的 \pmb{C}_{r \times n}

(20) 式的前 r=2 行,得:

\pmb{C}_{2 \times 5} = {\color{blue}{ \begin{bmatrix} 1 & 0 & -1 & 0 & -1 \\ 0 & 1 & 1 & 1 & 1 \end{bmatrix} }} \\\\ \tag{22}

第四步:写出 \pmb{B}_{m \times r}\pmb{C}_{r \times n} 即可:

\begin{align} \pmb{A}_{3 \times 5} &= \pmb{B}_{3 \times 2} \pmb{C}_{2 \times 5} \\\\ &= {\color{red}{ \begin{bmatrix} 1 & 1 \\ 0 & 1 \\ 2 & 3 \end{bmatrix}}} {\color{blue}{ \begin{bmatrix} 1 & 0 & -1 & 0 & -1 \\ 0 & 1 & 1 & 1 & 1 \end{bmatrix} }} \end{align} \\\\ \tag{23}

解毕。

3.2 例子2[11]

\pmb{A}_{4 \times 6} 的一个满秩分解,其中

\pmb{A}_{4 \times 6} = \begin{bmatrix} 1 & 2 & 0 & 1 & 1 & 10 \\ 3 & 6 & 1 & 4 & 2 & 36 \\ 2 & 4 & 0 & 2 & 2 & 27 \\ 6 & 12 & 1 & 7 & 5 & 73 \end{bmatrix} \\\\ \tag{24}

解:

第一步:首先对矩阵 \pmb{A}_{m \times n} 进行初等行变换,变成行最简形矩阵\pmb{A}_1 ,得矩阵 \pmb{A}_{m \times n} 的秩为 r

\pmb{A}_{4 \times 6} \sim \begin{bmatrix} {\color{red}{1}} & 2& 0& 1& 1& 0\\ 0& 0& {\color{red}{1}} & 1& -1& 0\\ 0& 0& 0& 0& 0& {\color{red}{1}} \\ 0& 0& 0& 0& 0& 0 \end{bmatrix} = \pmb{A}_1 \\\\ \tag{25}

矩阵 \pmb{A}_{3 \times 5} 的秩 r=3

第二步:找出矩阵 \pmb{A}_{m \times n} 的列向量组的极大线性无关组构成的矩阵,这个矩阵就是满秩分解的 \pmb{B}_{m \times r}

(25) 式中,红色位置所在列号为 {\color{red}{1}},{\color{red}{3}}, {\color{red}{6}} ,所以,矩阵 \pmb{A}_{4 \times 6} 的列向量组的极大线性无关组的列号为 {\color{red}{1}},{\color{red}{3}}, {\color{red}{6}} ,所以,矩阵 \pmb{A}_{4 \times 6} 的列向量组的极大线性无关组构成的矩阵为:

\pmb{B}_{4 \times 3} = {\color{red}{ \begin{bmatrix} 1 & 0 & 10 \\ 3 & 1 & 36 \\ 2 & 0 & 27\\ 6 & 1 & 73 \end{bmatrix}}} \\\\ \tag{26}

第三步:取行最简形矩阵\pmb{A}_1 的前 r 行构成的矩阵,这个矩阵就是满秩分解的 \pmb{C}_{r \times n}

(25) 式的前 r=3 行,得:

\pmb{C}_{3 \times 6} = { \color{blue}{ \begin{bmatrix} 1 & 2& 0& 1& 1& 0\\ 0& 0& 1 & 1& -1& 0\\ 0& 0& 0& 0& 0& 1 \end{bmatrix}}} \\\\ \tag{27}

第四步:写出 \pmb{B}_{m \times r}\pmb{C}_{r \times n} 即可:

\begin{align} \pmb{A}_{4 \times 6} &= \pmb{B}_{4 \times 3} \pmb{C}_{3 \times 6} \\\\ &= {\color{red}{ \begin{bmatrix} 1 & 0 & 10 \\ 3 & 1 & 36 \\ 2 & 0 & 27\\ 6 & 1 & 73 \end{bmatrix}}} { \color{blue}{ \begin{bmatrix} 1 & 2& 0& 1& 1& 0\\ 0& 0& 1 & 1& -1& 0\\ 0& 0& 0& 0& 0& 1 \end{bmatrix}}} \end{align} \\\\ \tag{28}

解毕。

四. 完

本文到这里就结束了,欢迎大家点赞、关注、收藏、转发噢~

矩阵分解系列其他文章:

奇异值分解(SVD)的定义、证明、求法(矩阵分解——3. 奇异值分解(SVD)) - Iterator的文章 - 知乎

正交三角(QR)分解的定义、证明、求法(矩阵分解——2. 正交三角(QR)分解) - Iterator的文章 - 知乎

参考

  1. ^《工程数学线性代数 同济大学第六版》P58
  2. ^《工程数学线性代数 同济大学第六版》P68
  3. ^《工程数学线性代数 同济大学第六版》P61
  4. ^ab《工程数学线性代数 同济大学第六版》P60
  5. ^abc《工程数学线性代数 同济大学第六版》P94
  6. ^张贤达《矩阵分析与应用(第二版)》P65
  7. ^张明淳《工程矩阵理论(第一版)》P6
  8. ^《工程数学线性代数 同济大学第六版》P70
  9. ^《工程数学线性代数 同济大学第六版》P67
  10. ^史荣昌《矩阵分析(第三版)》P175 题4-1(2)
  11. ^史荣昌《矩阵分析(第三版)》P175 题4-1(4)
编辑于 2021-12-27 17:22