线性代数2-4
高斯消元
阶梯矩阵
每一行的第一个非零元素位置都严格比上一行更靠后的矩阵叫做阶梯矩阵。
容易发现,阶梯矩阵的必要条件是主对角线下方为 0。
比如 \(\begin{bmatrix}1 & 2 & 3 \\ 0 & 0 & -1 \\ 0 & 0 & 0 \end{bmatrix}\)。
阶梯化
任意矩阵 \(A\) 都可以通过初等行变换变成阶梯形矩阵。
这是一个构造性的证明。考虑如下算法:
对于 \(A\) 的第 1 列,若元素均为 0,那么递归到第一行第二列开始的子矩阵。
否则假设第 \(i\) 行不为 0,则先进行 \(r_{1i}\),将非 0 元素放到第一行。若还有其他非零元素 \(a_{j1}\),就再进行 \(r_{1j}(-\frac{a_{j1}}{a_{11}})\)。这样操作结束后,仅 \(a_{11}\) 为非零元素。然后递归到第二行第二列开始的子矩阵。
不难发现,使用这一方法得到的非零行对应非零元素的位置肯定是递减的,所以整个矩阵是行阶梯形矩阵。使用数学归纳法完成证明。
由于我们只是使用了初等行变换,所以这个过程可以被写成 \(A \to PA\)。我们将所有的交换操作放到开头进行,这样会改变变换的过程,但是不会改变变换的结果。将交换操作的矩阵记作 \(P\),其他的加和变换记作 \(E\),则 \(A \to EPA\)。
此时 \(EPA\) 是一个上三角矩阵(upper triangular),我们记作 \(EPA = U\)。则 \(PA = E^{-1}U\)。由于 \(E\) 是上方的行加至下方行的变换的累计,所以 \(E\) 中的每一个小元素都是下三角(lower triangular)矩阵,则 \(E\) 也是下三角矩阵,进而 \(E^{-1}\) 也是下三角矩阵。
所以,我们实际上将 \(PA\) 分解成了一个下三角阵与一个上三角阵,记 \(L = E^{-1}\),则 \(PA = LU\),这被称为矩阵 \(A\) 的 LU 分解。这也是是高斯消元的前半部分。
对角化(另一个)
任意行阶梯矩阵可以被初等变换为对角阵。
仍然是构造性的证明。从最后一行向第一行枚举,对于非零行,用列变换将不是行首的元素归零。由于枚举顺序和阶梯矩阵性质,前面的行不会影响到后面的行。
最后,我们将每行的行首元素通过列交换至对角线上。
结合这两步,我们实际上将 \(PA = LU\) 变成了 \(PA = LDQ^{-1}\),其中 \(D\) 是 \(U\) 变化来的对角阵。我们仅使用了列变换。将列变换中的交换部分 \(Q\) 拿出来提前做,只留下加和的部分 \(E\)。由于加和都是小列加到大列上,\(E\) 是一个上三角矩阵。所以 \(PAQ = LDE^{-1}\)。重新记 \(U = E^{-1}\),我们将 \(PAQ\) 分解为了一个下三角阵、一个对角阵、一个上三角阵的乘积。即 \(PAQ = LDU\)。这被称为 LDU 分解。
LDU 分解比 LU 分更加“平衡”,因为 \(L,U\) 的对角线元素都是 1(他们都是初等变化的累积)。另外,\(P,Q\) 都是置换矩阵,有 \(PP = QQ = I\),我们也可以把 LDU 分解写成 \(A = PLDUQ\)。
这种分解有什么用呢?注意到 \(|\det P| = |\det Q| = \det L = \det U = 1\),所以如果 \(A\) 是方阵 \(\det A = \pm \det D\)。而且对任何 \(A\) 都可以进行 LDU 分解。所以我们就得到了一个求解行列式的办法:进行 LDU 分解。
进一步,\(\det A \ne 0 \Leftrightarrow \det D \ne 0\),所以可以用来判断 \(A\) 是否可逆。
再进一步,若 \(\det D \ne 0\),则 \(D\) 对角线每个元素都不为 0,那么 \(D\) 可以通过初等变换 \(I\)。\(A\) 又可以通过初等变换为 \(D\),这说明如下定理:
\(A\) 可逆的充要条件是 \(A\) 可以通过初等变换为 \(I\),即 \(A \cong I\)。
同时,我们也有了一个简单的求逆办法:如果 \(A\) 可以初等变换为 \(I\),即 \(PAQ = I\),则 \(A = P^{-1}Q^{-1}\),\(A^{-1} = PQ\)。
我们可以对 \(A\) 和 \(I\) 同步进行相同的初等变换,当 \(A \to I\) 时,\(I \to A^{-1}\)。
秩
定义
记矩阵 \(A\) 的秩为 \(r(A)\)。
若 \(A = O\) 定义 \(A\) 的秩为 0。
若 \(A \ne O\),定义 \(A\) 的秩为最大的行列式非零的子矩阵的大小。
比如 \(\begin{bmatrix}1&1&2\\2&2&4\\-1&-1&-2\end{bmatrix}\),只存在大小为 1 的子矩阵行列式不为 0,而大小为 2 或 3 的子矩阵行列式都是 0。所以这个矩阵的秩为 1。
性质
- \(r(A) = r(A^\text T)\)。这可以根据行列式的转置性质证明。
- \(r(A) = r\) 等价于 \(A\) 存在 \(r\) 阶子矩阵行列式不为 0,而不存在 \(r+1\) 阶子矩阵行列式不为 0。通过展开更高阶子矩阵的行列式,当展开到 \(r+1\) 阶时,结果全部为 0,所以不存在更高阶的子矩阵行列式非零。所以最大的阶数就是 \(r\)。
- 若 \(B\) 是 \(A\) 初等变换的结果,则 \(r(B) = r(A)\)。
- 初等变换包括数乘、加和、交换行列。
- 数乘改变行列式大小,但不改变是否为 0;
- 加和不改变行列式;
- 交换改变行列式正负,但是不改变是否为 0。
- 所以一次初等变换不会改变矩阵的秩。这直接给出下面的结果:
- 若 \(A \cong B\),则 \(r(A) = r(B)\)。
- 若方阵 \(A\) 的秩 \(r = n\),则称 \(A\) 是满秩方阵。否则称 \(A\) 为降秩方阵。显然,满秩方阵 \(\det A \ne 0\),降秩方阵 \(\det A = 0\)。
- 将 \(A\) 左乘或右乘一个满秩方阵,都不会改变 \(A\) 的秩。证明不难,满秩阵就是可逆阵,由于可逆阵等价于 \(I\),所以乘可逆阵就是乘一些初等变换。所以乘法的结果与 \(A\) 等价。又因为等价阵的秩相等,所以 \(A\) 的秩不变。
- 若矩阵 \(A\) 的秩 \(r = m\),则称 \(A\) 是行满秩矩阵;若 \(A\) 的秩 \(r=n\),则称 \(A\) 是列满秩矩阵。
POV
由于教材顺序没有定义线性空间,所以采用了子矩阵行列式的方式定义,看上去比较繁杂。
采用线性空间的方式定义矩阵,秩的定义为极大线性无关的列向量(或行向量)的个数。这种定义使得初等变换不改变秩的性质一目了然,因为初等变换就是线性变换,不会改变是否线性无关。但是需要证明的一点是极大线性无关的行向量的个数等于列向量的个数。
另一个相关的内容是线性空间、子空间和线性代数基本定理。这个等有空再补。1