对于非方阵而言,其逆矩阵没有定义。假设在下列问题中,我们希望通过矩阵
A
A
的左逆
B
B
来求解线性方程,
Ax=y
A
x
=
y
等式两边左乘左逆 B B 后,我们得到,
x=By
x
=
B
y
取决于问题的形式,我们可能无法设计一个唯一的映射将 A A 映射到 B B 。
如果矩阵 A A 的行数大于列数,那么上述方程可能没有解。如果矩阵 A A 的列数大于行数,那么上述方程可能有多个解。
Moore-Penrose伪逆使我们在这类问题上取得了一定的进展。矩阵 A A 的伪逆定义为,
A+=limα→0(ATA+αI)−1AT
A
+
=
lim
α
→
0
(
A
T
A
+
α
I
)
−
1
A
T
计算伪逆的算法没有基于这个定义,而是使用下面的公式,
A+=VD+UT
A
+
=
V
D
+
U
T
其中,矩阵 U U , D D 和 V V 是矩阵 A A 经奇异值分解后得到的矩阵。对角矩阵 D D 的伪逆 D+ D + 是其非零元素取倒数再经转置后得到的。
当矩阵 A A 的列数多于行数时,使用伪逆求解线性方程是众多可能解法中的一种。特别的, x=A+y x = A + y 是方程所有可行解中欧几里德范数 ∥x∥2 ‖ x ‖ 2 最小的一个。
当矩阵 A A 的行数多于列数时,可能没有解。在这种情况下,通过伪逆求得的 x x 使得 Ax Ax 和 y y 的欧几里德距离 ∥Ax-y∥2 ‖ Ax-y ‖ 2 最小。