矩阵逆 $A^{-1}$ 在矩阵乘法中起着倒数的作用,使得方程 $Ax = b$ 有可能通过计算 $x = A^{-1}b$ 来求解。然而,就像普通算术中不能除以零一样,并非所有矩阵都有逆。这引出了一个基本问题:我们何时才能真正找到 $A^{-1}$?可逆矩阵与奇异矩阵首先,一个重要事项:只有方阵(行数和列数相等的矩阵,例如2x2、3x3等)才可能具有逆矩阵。 如果一个矩阵不是方阵,这里定义的逆矩阵($AA^{-1} = A^{-1}A = I$)就不适用。对于方阵 $A$,存在两种情况:可逆(或非奇异): 矩阵 $A$ 拥有 逆矩阵,记作 $A^{-1}$。这意味着存在一个唯一的矩阵 $A^{-1}$,使得 $A$ 与 $A^{-1}$ 相乘(无论顺序)得到单位矩阵 $I$: $$ AA^{-1} = A^{-1}A = I $$ 如果 $A$ 是可逆的,则方程组 $Ax = b$ 恰好有一个唯一解,我们发现其为 $x = A^{-1}b$。奇异(或不可逆): 矩阵 $A$ 不 具有逆矩阵。不存在矩阵 $B$ 使得 $AB = BA = I$。如果 $A$ 是奇异的,系统 $Ax = b$ 的行为会有所不同。它可能根本没有解,或者可能存在无限多个解。它永远不会有单个唯一解。想想简单的标量方程。方程 $5x = 10$ 有一个唯一解($x=2$),因为 5 有一个乘法逆元(1/5)。相比之下,方程 $0x = 10$ 没有解。而方程 $0x = 0$ 有无限多个解(任何 $x$ 都适用)。数字零没有乘法逆元。奇异矩阵在此上下文中,相当于数字零在矩阵中的对应情况。它们表示以某种方式“压缩”空间的变换,使得无法唯一地反转操作。矩阵为何可能奇异?方阵的什么性质会导致其奇异?直观上,奇异性通常出现在矩阵包含冗余信息时。这通常意味着矩阵的一行或多行(或一列或多列)可以通过其他行(或列)的倍数相加或相减得到。发生这种情况时,我们称这些行(或列)是线性相关的。我们再来看一个方程组:$$ \begin{align*} x + 2y &= 3 \ 2x + 4y &= 6 \end{align*} $$其矩阵形式为 $Ax = b$,具体如下:$$ A = \begin{pmatrix} 1 & 2 \ 2 & 4 \end{pmatrix}, \quad x = \begin{pmatrix} x \ y \end{pmatrix}, \quad b = \begin{pmatrix} 3 \ 6 \end{pmatrix} $$仔细观察矩阵 $A$。第二行 $\begin{pmatrix} 2 & 4 \end{pmatrix}$ 恰好是第一行 $\begin{pmatrix} 1 & 2 \end{pmatrix}$ 的 2 倍。行之间的这种线性相关性意味着矩阵 $A$ 是奇异的。它没有逆矩阵。这对方程有什么影响?第二个方程 $2x + 4y = 6$ 仅仅是第一个方程 $x + 2y = 3$ 乘以 2 得到的结果。它没有增加任何关于 $x$ 和 $y$ 的新约束或信息。任何满足第一个方程的 $(x, y)$ 对都会自动满足第二个方程。由于对于两个变量只有一个独立的约束,因此存在无限多个解(直线 $x + 2y = 3$ 上的所有点)。因为没有唯一解,我们无法找到逆矩阵 $A^{-1}$。那么,如果系统稍有不同呢?$$ \begin{align*} x + 2y &= 3 \ 2x + 4y &= 7 \end{align*} $$矩阵 $A = \begin{pmatrix} 1 & 2 \ 2 & 4 \end{pmatrix}$ 仍然是同一个奇异矩阵。但现在,第二个方程($2x + 4y = 7$)与第一个方程(这意味着 $2x + 4y$ 必须等于 $2 \times 3 = 6$)矛盾。由于方程不一致,该系统无解。同样,矩阵 $A$ 的奇异性与缺乏唯一解相关。将其与可逆矩阵进行对比:$$ A' = \begin{pmatrix} 1 & 2 \ 3 & 4 \end{pmatrix} $$在这个矩阵中,第二行 $\begin{pmatrix} 3 & 4 \end{pmatrix}$ 不是 第一行 $\begin{pmatrix} 1 & 2 \end{pmatrix}$ 的倍数。这些行是线性独立的,这意味着它们提供了不同的信息。这个矩阵 $A'$ 是 可逆的(非奇异的),并且任何系统 $A'x = b$ 都将有一个唯一解。形式条件(不涉及计算)虽然理解线性相关性能够提供直观理解,但数学提供了一个精确的可逆性检验。每个方阵都关联着一个称为其行列式的单一数值。本课程中我们不会涵盖行列式的计算,但其规则本身是基本原则:方阵 $A$ 可逆当且仅当其行列式不为零。如果 $A$ 的行列式恰好为零,则该矩阵是奇异的(不可逆的)。行列式为零是数学条件,它确认了矩阵行(和列)之间存在线性相关性。它表明矩阵涉及某种冗余或维度坍缩,使得逆矩阵不可能存在。实际考量与 NumPy在使用像 Python 的 NumPy 库这样的计算工具时,您通常不需要自己计算行列式来检查可逆性,然后再求解系统或寻找逆矩阵。如果您尝试使用 np.linalg.inv(A) 计算奇异矩阵的逆,NumPy 通常会检测到这种情况并引发 LinAlgError,提示您矩阵是奇异的。同样,如果您使用首选函数 np.linalg.solve(A, b) 来求解系统 $Ax=b$,如果 $A$ 是奇异的,它通常也会引发 LinAlgError,因为唯一解不存在。还值得指出的是,在数值计算中,矩阵有时可能接近奇异。这意味着它们的行列式非常接近零。虽然理论上可逆,但处理此类矩阵可能导致数值不稳定,并在计算出的逆矩阵或解中产生较大的误差。NumPy 的算法通常是可靠的,但需要注意接近奇异的矩阵可能会导致问题。总而言之,矩阵 $A$ 可逆的能力取决于它是否是方阵且非奇异。奇异性与矩阵行或列内的线性相关性(冗余)相关,这在数学上对应于行列式为零。此条件阻止了 $Ax=b$ 存在唯一解,从而使逆矩阵 $A^{-1}$ 未定义。幸运的是,数值计算库通常会为我们处理奇异性的识别。