可逆方阵 A 的逆记为,A−1,需满足 AA−1=I。
在 BLAS 的各种实现中,一般都不会直接给出 matrix inverse 的直接实现,其实矩阵(方阵)的逆是可以通过 gemm()
和gesvd()
操作得到。
实值可逆方阵 A,其 SVD 分解如下:
A⋅V=U⋅S
其中:
-
V,U 均为正交矩阵,
{VVT=IUUT=I⇒{V−1=VTU−1=UT -
S 为对角矩阵;
- 因为 A 是可逆的,根据 SVD 的定义,S 的对角元素均是正数;
所以有:
A⋅V⋅S−1⋅U−1=I⇒A⋅V⋅S−1⋅UT=I
也即:
A−1=V⋅S−1⋅UT