范数与条件数:答案对误差有多敏感
约 14 分钟
实际矩阵来自测量和浮点计算,元素不可能无限精确。向量范数衡量大小,矩阵范数衡量线性变换最多能放大多少;条件数则描述输入或数据的小扰动可能让解变化多大。
范数不是只有一种
向量1范数是绝对值之和,2范数是欧氏长度,无穷范数取最大绝对分量。不同范数强调总量、能量或最大偏差。在有限维空间它们给出相容但数值不同的尺度,报告时必须说明选择。
条件数的含义
对可逆矩阵 A,常见2范数条件数为最大奇异值与最小奇异值之比。最小奇异值很小时,某个方向几乎被压扁,逆运算会强烈放大该方向噪声。
病态不等于算法错
若问题本身病态,即使用完全正确算法,轻微数据误差也会造成解大变。提高计算精度只能减少舍入误差,不能补回输入中没有的信息。
缩放与单位
一列用米、一列用毫米,数值尺度差千倍,会影响条件和优化。标准化可改善计算,但也改变坐标解释;结果需转换回原单位。
残差与误差不同
Ax-b 很小只说明解近似满足方程。病态系统中,小残差仍可能对应与真实解相差很大的向量。评价要同时看残差、条件数和数据误差。
练习:构造两个方程几乎平行的2×2系统,轻微改变 b,比较解、残差与条件数。
小纸条
线性方程组残差很小,为什么解仍可能不可靠?