如何解线性方程组(三)之Minus-1 Trick,在下面,我们介绍了一个实用的技巧来读出一个齐次线性方程组Ax = 0的解x,其中A ∈ R^{k×n}, x ∈ R^n。
首先,我们假设A是行简化阶梯形,没有任何只包含0的行,例如:
在这里,∗ 可以是任意的实数,并且每一行的第一个非零项必须为1,而对应列中的所有其他项必须为0。列j_1,…,j_k与枢轴(粗体标记)是标准单位向量e_1, . . . , e_k ∈ R。我们通过添加n−k行下面这个形式把矩阵扩展到一个n×n矩阵A˜:
\begin{bmatrix}
0&…&0&-1&0&…& 0
\end{bmatrix}
被增加的矩阵行
所以增广矩阵A˜的对角线包含1或- 1。
然后,以- 1为轴心的A˜的列为齐次方程组Ax = 0的解。更精确地说,这些列构成了Ax = 0的解空间的基础,我们稍后将其称为内核空间或空空间。
例:我们再来看看下面这个矩阵:
\begin{bmatrix}
1&3&0&0 &3 \\
0&0&1&0 &9 \\
0&0&0&1 &-4
\end{bmatrix}
现在,我们通过在对角线上的枢轴缺失的地方添加\begin{bmatrix}
0&…&0&-1&0&…& 0
\end{bmatrix}的行,将这个矩阵增广为5×5矩阵,得到:
从这个形式中,我们可以立即读出Ax = 0的解:取A˜对角线上含有-1的列:
计算逆
为了计算A∈R^{n×n}的逆A^{-1},我们需要找到一个满足AX = I_n的矩阵X。然后,X = A^{-1}。我们可以把它写成一组线性方程组AX = I_n,其中我们解出X =[x_1 |… |x_n]。我们用增广矩阵表示法来表示这组线性方程组的紧凑表示,并得到:
这意味着如果我们把增广方程组化成行简化阶梯形,我们就能读出方程组右边的逆矩阵。因此,确定矩阵的逆等价于求解线性方程组。
例:用高斯消元法计算逆矩阵
为了求得A的逆,其中A为:\begin{bmatrix}
1&0&2&0 \\
1&1&0&0 \\
1&2&0&1 \\
1&1&1&1
\end{bmatrix},我们写下增广矩阵:,然后用高斯消元法把它化成行简化阶梯形,这样所要求的逆就是它的右边:
A^{-1}=\begin{bmatrix}
-1&2&-2&2 \\
1&-1&2&-2 \\
1&-1&1&-1 \\
-1&0&-1&2
\end{bmatrix}
我们可以通过乘法AA^{-1}来验证确实是逆:因为我们得到了AA^{-1}=I_4。
总结-如何解决线性方程组?
对于一个线性方程组Ax=b:
- 当矩阵A为方阵且可逆时,x=A^{−1}b
- 矩阵A不是一个方阵,或者A是一个不可逆的方阵时,那么:x=(A^T A)^{-1}A^Tb。其中(A^T A)^{-1}A^T为Moore-Penrose逆矩阵,也就是常说的伪逆。但由于上述方法耗费时间很久,所以实际运用时会使用迭代法来求解。