对于一个 n×n 的矩阵 A,如果存在一个矩阵 A−1 满足:
AA−1=A−1A=In其中 In 是 n×n 的单位矩阵,那么我们称 A−1 是 A 的逆矩阵,A 是可逆
- 可逆矩阵又称为非奇异矩阵(nonsingular matrix)或正则矩阵(regular matrix)。、
可逆矩阵的性质#
充要条件#
对于一个 n×n 的矩阵 A,以下条件是等价的:
- A 是可逆的。
- A 的行列式 det(A)=0。
- A 的秩 rank(A)=n。
- 行/列向量组线性无关。
- 零空间只有零向量。Ax=0 只有零解。nullity(A)=0。
- 线性方程组 Ax=b 对于任意 b 都有唯一解。
- A 的所有特征值均不为零(可正可负可相同)。
- A 可以表示为初等矩阵的乘积,也就是高斯消元一定能把它变成单位矩阵
- A 的行/列最简形式是单位矩阵 In。
- 伴随矩阵 (A∗) 存在且可逆 A−1=det(A)1A∗。
充分条件#
A 满足下面的条件就可逆,但可逆矩阵不一定满足下面的条件:
- A 是正交矩阵:ATA=I。
- A 是正定矩阵:对于所有非零向量 x,xTAx>0。这时候 A 对称且特征值全为正数。
必要条件#
若 A 可逆,则 A 满足下面的条件:
- A 对称 ⟺ A−1 对称;A 正交 ⟺ A−1 正交;A 正定 ⟺ A−1 正定。
- A 的幂次 Ak 也是可逆的,且 (Ak)−1=(A−1)k。
- A−1 的特征值是 A 的特征值的倒数,且对应特征向量相同。
可逆和特征分解(相似对角化)之间没有必然联系。
可逆关心的是特征值有没有0,对角化关心的是特征向量有没有线性无关
如下表:
| 可逆? | 特征分解?(相似对角化) | 例子 |
|---|
| 可逆 | 可对角化 | A=[2003] |
| 可逆 | 不可对角化 | A=[1011] |
| 不可逆 | 可对角化 | A=[0001] |
| 不可逆 | 不可对角化 | A=[0010] |
可逆推不出可对角化
不可逆推不出不可对角化
但若两者同时满足,则
可逆+可对角化 ⟺ A 的特征值全不为零 + 几何重数=代数重数
计算矩阵的逆#
手算1:高斯-约旦消元法#
步骤:
-
构造增广矩阵 [A∣In],其中 In 是 n×n 的单位矩阵。
-
对增广矩阵进行初等行变换,直到左边的 A 被化为单位矩阵 In。这时,增广矩阵的右边部分就变成了 A 的逆矩阵 A−1。
手算2:伴随矩阵法#
伴随矩阵:
adj(A)=C11C12⋮C1nC21C22⋮C2n⋯⋯⋱⋯Cn1Cn2⋮Cnn或adj(A)ij=(−1)i+jMij其中 Mij 是 A 中去掉第 i 行和第 j 列后得到的 (n−1)×(n−1) 子矩阵的行列式。称为代数余子式
公式:
A−1=det(A)1adj(A)其中 adj(A) 是 A 的伴随矩阵
手算3:分块矩阵求逆#
TIP上三角求逆依旧是上三角,下三角求逆依旧是下三角
速记:上三角分块矩阵的逆矩阵的上三角部分是 −B−1CD−1,下三角分块矩阵的逆矩阵的下三角部分是 −D−1CB−1。
常见上三角分块矩阵:
A=[B0CD]其中 B 和 D 是可逆的方阵,那么 A 的逆矩阵为:
A−1=[B−10−B−1CD−1D−1]下三角分块矩阵:
A=[BC0D]其中 B 和 D 是可逆的方阵,那么 A 的逆矩阵为:
A−1=[B−1−D−1CB−10D−1]手算4:2x2矩阵求逆(伴随矩阵的最简例子)#
A=[acbd]如果 ad−bc=0,则 A 可逆,且其逆矩阵为:
A−1=ad−bc1[d−c−ba]Sherman-Morrison 公式#
在机器学习中,常常需要把数据 D(长方形 n×d 矩阵)求内积 DTD 得到方阵 C,然后求逆。如果多了一个样本维度(也就是有新数据 v),D 就变成了 (n+1)×d 的矩阵,求内积得到的方阵 C 就可以更新成 DTD+vvT 能不能快速求逆呢?答案是可以的,这就是 Sherman-Morrison 公式:
Sherman-Morrison 公式是用于秩-1更新的求逆公式。它提供了一种高效的方法来计算矩阵 A 加上一个秩-1矩阵 uvT 的逆矩阵。
令 A 是一个可逆的 n×n 矩阵,u 和 v 是 n 维列向量,那么 (A+uvT)是可逆的,当且仅当 1+vTA−1u=0:
(A+uvT)−1=A−1−1+vTA−1uA−1uvTA−1记住形状,证明就是验证乘法是不是单位阵
这里面的向量 u 和 v 可以推广到扁平矩阵 U(n×k) 和 V(k×n),得到更一般的Woodbury 矩阵恒等式(Sherman-Morrison-Woodbury),针对低秩-k更新 的情况:
(A+UVT)−1=A−1−A−1U(I+VTA−1U)−1VTA−1TIP证明:构造了一个线性方程组来证明
