条件数计算器 - 矩阵条件与稳定性

使用 1 范数、无穷范数或 Frobenius 范数计算 2×2 或 3×3 矩阵的条件数。快速判断线性系统的数值稳定性。

选择矩阵大小和范数,输入矩阵元素,计算器会返回 κ(A) = ‖A‖ · ‖A⁻¹‖,并说明该矩阵的条件状况。

条件数计算器 - 矩阵条件与稳定性
使用 1 范数、无穷范数或 Frobenius 范数计算 2×2 或 3×3 矩阵的条件数。快速判断线性系统的数值稳定性。

关于条件数计算器

可逆矩阵 A 的条件数定义为 κ(A) = ‖A‖ · ‖A⁻¹‖,其中 ‖·‖ 表示任意相容的矩阵范数。它衡量线性系统 A·x = b 的解 x 中,相对误差会被右端项 b 的相对误差放大多少。直观地说,条件数小的矩阵是条件良好的:输入中的微小误差只会带来很小的输出误差。条件数大的矩阵则是条件很差的:即使数据里只有极小的浮点舍入误差,也可能得到严重不准确的解。 这个计算器支持 2 × 2 和 3 × 3 矩阵,以及三种最常用的矩阵范数。1 范数是绝对值列和的最大值,‖A‖₁ = max_j Σᵢ |aᵢⱼ|。无穷范数是绝对值行和的最大值,‖A‖∞ = max_i Σⱼ |aᵢⱼ|。Frobenius 范数是所有元素平方和的平方根,‖A‖_F = √(Σᵢⱼ |aᵢⱼ|²),可视为矩阵版的欧几里得向量范数。对于 2 × 2 矩阵,逆矩阵按解析公式计算:A⁻¹ = (1/det A) · [[d, −b], [−c, a]]。对于 3 × 3 矩阵,使用余子式(伴随矩阵)公式。 条件数是数值线性代数中的核心概念。当你在计算机上使用 LU 分解或高斯消元求解线性系统时,计算结果的相对误差上界大致是 κ(A) · ε,其中 ε 是机器精度(IEEE-754 双精度约为 10⁻¹⁶)。因此,条件数为 10⁶ 意味着仅因舍入误差就可能损失多达 6 位有效数字。作为经验法则,κ < 100 的矩阵通常被认为条件良好,κ 在 100 到 1000 之间的是中等条件,超过 10³ 的则条件很差,应该谨慎处理。 还有一些重要的注意事项。条件数取决于所选范数,因此用不同范数算出的数值不能直接比较,尽管它们通常只相差一个较小的常数因子。基于奇异值定义的 2 范数(谱范数)条件数在理论上最自然,但计算成本更高,这里没有提供。奇异矩阵的行列式严格为零,没有逆矩阵,条件数为无穷大;计算器会明确检测这种情况。 当你需要检查一个小型线性系统是否可以安全地进行数值求逆、讲授数值分析入门,或者在更大的仿真或机器学习流程中求解方程组前做快速检查时,都可以使用这个工具。

示例演算

下面给出几个从条件良好到条件很差的示例矩阵。

矩阵(2×2 或 3×3)条件数说明
[[1, 0], [0, 1]], 1-normκ = 1单位矩阵的条件数最理想。无论采用哪种标准范数,它的条件数都等于 1。
[[2, 1], [1, 3]], Frobeniusκ ≈ 3.0一个对称正定矩阵,条件数较小。涉及它的线性系统通常很容易精确求解。
[[1, 1], [1, 1.0001]], infinity-normκ ≈ 40004接近奇异的矩阵。只要 (2,2) 元素稍有扰动,解就会发生显著变化。
[[1, 2, 3], [4, 5, 6], [7, 8, 10]], 1-normκ ≈ 380一个条件中等的 3×3 矩阵。在单精度浮点计算中,预计会有一定精度损失。

如何使用条件数计算器

  1. 选择矩阵大小,2 × 2 或 3 × 3。
  2. 选择要使用的矩阵范数——1 范数、无穷范数或 Frobenius 范数。
  3. 把每个矩阵元素输入到对应的网格单元中。
  4. 点击“计算条件数”。结果面板会显示 κ(A)、矩阵范数、逆矩阵范数、行列式,以及通俗解释。
  5. 点击“重置”即可清空所有输入并开始新的矩阵。

条件数常见问题

条件数告诉我什么?
它给出线性系统 A·x = b 中右端项 b 的相对误差会在解 x 中被放大多少的上界。条件数为 10^k,表示仅因舍入误差就可能损失多达 k 位精度。
什么样的条件数算“好”?
通常小于 100 视为条件良好,100–1000 为中等条件,超过 1000 则条件很差。阈值会随算术精度以及你对最终答案所需的精度而变化。
我该用哪种范数?
1 范数和无穷范数计算代价低,而且信息非常接近;Frobenius 范数也很容易计算,并且是欧几里得向量范数的矩阵对应形式。谱(2 范数)条件数在理论上最自然,但计算更昂贵,这里没有提供。
为什么我的矩阵被标记为奇异?
当矩阵的行列式为零(或在数值上与零不可区分,小于 10⁻¹⁰)时,它就是奇异矩阵。奇异矩阵没有逆矩阵,因此条件数为无穷大,线性系统 A·x = b 要么无解,要么有无穷多个解。
条件数和右端项 b 有关吗?
没有。条件数只取决于矩阵 A。它给出的是 b 的相对误差放大的最坏情况上界,与你选择的具体 b 无关。
条件数会小于 1 吗?
不会。对于任何相容的矩阵范数,κ(A) = ‖A‖ · ‖A⁻¹‖ ≥ ‖A · A⁻¹‖ = ‖I‖ ≥ 1。最小值 1 可由正交矩阵(或在 2 范数下的酉矩阵)达到。