这个计算器能做什么
本工具用于计算 n×n 实数方阵 A 的逆矩阵。逆矩阵 \(A^{-1}\) 是唯一满足 A 乘以 \(A^{-1}\) 等于单位矩阵 I 的矩阵。需要注意的是,并非所有矩阵都存在逆矩阵:只有行列式不为零的方阵(即非奇异矩阵)才可逆。如果你输入的矩阵是奇异的,计算器会直接提示你,而不会返回毫无意义的数值。
使用方法
先从下拉菜单中选择矩阵的阶数 n,输入网格会随之调整为 n 行 n 列。接着在矩阵 A 的每个单元格中填入一个实数。然后设定结果保留的有效数字位数,即可读取逆矩阵、行列式以及所采用的计算方法。有效数字设置只影响显示时的四舍五入,不会改变内部计算——内部运算始终以完整的双精度(double)进行。
方法原理
本计算器采用带部分主元选取(partial pivoting)的 LU 分解。首先将矩阵分解为 \(PA = LU\),其中 P 是置换矩阵,通过交换行使对角线上始终保留当前最大的主元(这样可以提升数值稳定性,避免用极小的数作除数);L 是单位下三角矩阵;U 是上三角矩阵。随后,对单位矩阵的每一列 \(e_k\),先用前代法求解 \(L y = P e_k\),再用回代法求解 \(U x = y\),所得的 x 即为 \(A^{-1}\) 的第 k 列。行列式则等于 U 对角线元素的乘积,再乘以行置换的符号。完整的关系式为:
$$PA = LU \quad\Longrightarrow\quad A^{-1} = U^{-1} L^{-1} P$$ $$\det(A) = (-1)^{s}\prod_{k=1}^{n} U_{kk}$$ $$\text{where}\quad \left\{ \begin{aligned} A &= \big[\,\text{n x n entries } a_{ij}\,\big] \\ s &= \text{number of row swaps (partial pivoting)} \\ A^{-1}_{\;\cdot,c} &: \; L\,y = P e_c,\;\; U x = y \end{aligned} \right.$$
实例演示
设 \(A = [[4, 3], [6, 3]]\)。其行列式为
$$4 \times 3 - 3 \times 6 = 12 - 18 = -6$$不为零,因此 A 可逆。利用 2×2 矩阵的求逆公式,
$$A^{-1} = \frac{1}{\det} \times [[3, -3], [-6, 4]] = [[-0.5, 0.5], [1, -0.6666666667]]$$用 A 乘以这个逆矩阵,结果正好是单位矩阵,验证了答案的正确性。
常见问题
如果我的矩阵是奇异的会怎样? 如果行列式为零(在极小的容差范围内),该矩阵就没有逆矩阵,计算器会显示“奇异 / 不可逆”的提示。
为什么用 LU 分解,而不用伴随矩阵公式? 对于较大的矩阵,带部分主元选取的 LU 分解在数值稳定性和计算效率上都远胜于代数余子式展开法,后者的计算量会随阶数呈阶乘级增长。
选择不同的有效数字位数会改变计算结果吗? 不会。运算始终以完整精度进行,该设置只控制显示的有效数字位数。