跳到正文
线性代数

范数与条件数:答案对误差有多敏感

14 分钟

实际矩阵来自测量和浮点计算,元素不可能无限精确。向量范数衡量大小,矩阵范数衡量线性变换最多能放大多少;条件数则描述输入或数据的小扰动可能让解变化多大。

范数不是只有一种

向量1范数是绝对值之和,2范数是欧氏长度,无穷范数取最大绝对分量。不同范数强调总量、能量或最大偏差。在有限维空间它们给出相容但数值不同的尺度,报告时必须说明选择。

条件数的含义

对可逆矩阵 A,常见2范数条件数为最大奇异值与最小奇异值之比。最小奇异值很小时,某个方向几乎被压扁,逆运算会强烈放大该方向噪声。

病态不等于算法错

若问题本身病态,即使用完全正确算法,轻微数据误差也会造成解大变。提高计算精度只能减少舍入误差,不能补回输入中没有的信息。

缩放与单位

一列用米、一列用毫米,数值尺度差千倍,会影响条件和优化。标准化可改善计算,但也改变坐标解释;结果需转换回原单位。

残差与误差不同

Ax-b 很小只说明解近似满足方程。病态系统中,小残差仍可能对应与真实解相差很大的向量。评价要同时看残差、条件数和数据误差。

练习:构造两个方程几乎平行的2×2系统,轻微改变 b,比较解、残差与条件数。

小纸条

线性方程组残差很小,为什么解仍可能不可靠?