对于非方矩阵而言,其逆矩阵没有定义。假设在下面的问题中,我们希望通过矩阵A的左逆B来求解线性方程:
Ax=y
A
x
=
y
等式两边左乘左逆B后,我们得到:
x=By
x
=
B
y
是否存在一个唯一的映射,将A映射到B,取决于问题的形式。
如果矩阵A的行数大于列数,那么上述方程可能没有解;如果矩阵A的行数小于列数,那么上述矩阵可能有很多解。
Moore-Penrose伪逆使我们能够解决这类问题。矩阵A的伪逆定义为:
A+=lima→0(ATA+αI)−1AT
A
+
=
lim
a
→
0
(
A
T
A
+
α
I
)
−
1
A
T
计算伪逆的实际算法没有基于这个式子,而是使用下面的公式:
A+=VD+UT
A
+
=
V
D
+
U
T
当矩阵A的列数多于行数时,使用伪逆求解线性方程是众多可能解法中的一种。具体地, x=A+y x = A + y 是方程所有可行解中欧几里得范数 |x|2 | x | 2 最小的一个。
当矩阵A的行数多于列数时,可能没有解。在这种情况下,通过伪逆得到的x是使得Ax和y的欧几里得距离 |Ax−y|2 | A x − y | 2 最小的解。