趋近智
矩阵逆 A−1 常用于求解表示为 Ax=b 的线性方程组,通过找到解 x=A−1b。然而,一个重要问题随之而来:每个方阵 A 真的有逆矩阵吗?答案是否定的。在尝试计算一个矩阵的逆矩阵或使用它来求解系统之前,我们需要一种方法来判断该矩阵是否可逆。行列式在此发挥作用。
行列式是一个特殊的标量值,可以从方阵的元素中计算得出。它包含着关于矩阵的重要信息,特别是关于矩阵相关的线性变换如何对空间进行缩放以及矩阵是否可逆。
想象一个二维空间。任何 2×2 矩阵 A 都会变换这个空间。例如,它将标准单位正方形(由向量 [1,0]T 和 [0,1]T 定义)映射到一个平行四边形。矩阵 A 的行列式绝对值,表示为 ∣det(A)∣,代表了在该变换下图形面积的缩放因子。
一个 2×2 矩阵 A 将单位正方形(左)变换为平行四边形(中)。面积缩放因子是 ∣det(A)∣。如果 det(A′)=0(右),该变换将正方形压缩到一条线(或一个点),导致面积为零。
这种几何直观很有用。如果一个矩阵使空间坍缩 (det(A)=0),这意味着多个不同的输入向量可以被映射到同一个输出向量。这种变换不能被唯一地逆转,这直接意味着矩阵没有逆矩阵。
对于一个 2×2 矩阵:
A=[acbd]行列式计算方法如下:
det(A)=ad−bc对于一个 3×3 矩阵:
A=adgbehcfi可以使用代数余子式展开(例如,沿着第一行)来求出行列式:
det(A)=aehfi−bdgfi+cdgeh det(A)=a(ei−fh)−b(di−fg)+c(dh−eg)其中 2×2 行列式的计算方法如前所示。
手动计算大型矩阵的行列式很快就会变得繁琐。幸好,像NumPy这样的数值库提供了高效的函数来处理这个问题。
import numpy as np
# 2x2 矩阵
A = np.array([[3, 1],
[2, 4]])
# 计算行列式
det_A = np.linalg.det(A)
print(f"矩阵 A:\n{A}")
print(f"A 的行列式: {det_A:.2f}") # 输出:10.00
# 3x3 矩阵(奇异矩阵 - 行列式应为0)
B = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]) # 第3行 = 2 * 第2行 - 第1行
det_B = np.linalg.det(B)
print(f"\n矩阵 B:\n{B}")
print(f"B 的行列式: {det_B:.2f}") # 输出:0.00(或由于浮点数精度非常接近0)
# 3x3 矩阵(非奇异矩阵)
C = np.array([[2, -1, 0],
[1, 3, 7],
[-2, 0, 5]])
det_C = np.linalg.det(C)
print(f"\n矩阵 C:\n{C}")
print(f"C 的行列式: {det_C:.2f}") # 输出:49.00
核心联系很简单:
一个方阵 A 可逆,当且仅当其行列式不为零 (det(A)=0)。
检查行列式是考虑使用矩阵逆方法解 Ax=b 时一个重要的第一步。
总而言之,行列式是一个在计算上容易获得的值,它告诉我们一个方阵是否可逆。这个性质与线性系统 Ax=b 解的存在性和唯一性直接相关。非零行列式保证了可逆性以及通过 x=A−1b 找到唯一解的可能性,而零行列式则表明该矩阵是奇异的,此方法不可行。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造