“这是一种有限步直接法,没有迭代收敛判据。完成准则是每一步都找到可用主元、因子全部生成、三角求解结束;随后检查尺度化残差与非有限值。若某一步候选主元全为零,应报告奇异或秩亏。浮点结果的后向误差…”
形式陈述 ​
Gaussian 消元第
并交换第
其中列置换
主元不只负责避免除以零。定义元素增长因子
其中分子遍历消元各阶段出现的尾部元素;常见记法也用最终
这里的绝对值和不等式按分量理解;转成 normwise 界后,维数因子取决于所选范数、实现和增长因子的具体定义。因而部分主元通常表现稳健,却不是具有维数无关小后向误差常数的无条件定理;其最坏增长可达到指数级。
主元过程输入当前尾部矩阵和允许的置换结构,输出主元位置、更新后的置换及乘子。每步若所有合法候选均为零,分解检测到奇异;若候选虽非零却相对当前行列尺度极小,算法仍应记录近奇异风险,而不是只做精确零判断。
直觉 ​
消元会用“当前主元的倒数”放大下面的元素。选择较大的主元,好比先找到一根结实支点再做杠杆:它限制乘子,减少小输入误差被中间步骤放大的机会。但后续尾部矩阵还会由相减产生新元素,乘子不大并不自动保证所有中间量都小;增长因子正是记录这条完整路径。
完全主元看得更远,代价是扫描更多元素并打乱列顺序。部分主元只在当前列搜索,便宜且在实践中非常可靠,所以成为稠密通用 LU 的默认策略;“默认”来自理论、成本与经验的平衡,不等于最坏情形不存在。
例子与边界 ​
设
若不换行,第一步乘子为
部分主元也有经过构造的矩阵族使
列交换的边界同样具体。完全主元得到的是
推论与应用 ​
LU 页面负责分解和复用,本页负责解释为什么浮点实现需要主元以及后向误差常数从何而来。二者与算法稳定性共同给出逻辑链:控制元素增长可带来小后向误差,再由问题条件数判断前向精度。
正定 Cholesky 在精确算术中不需要主元,因为所有递推主元为正;对称不定、秩亏或稀疏系统则有各自的结构化策略。将所有“选一个非零元素”的操作都叫同一种 pivoting,会忽略这些不变量。
参考资料
- Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM, 2002, Ch. 9.
- Lloyd N. Trefethen and David Bau III, Numerical Linear Algebra, SIAM, 1997, Lecture 22.
- LAPACK Users’ Guide, Factorizations for General Matrices.