形式陈述
对方阵 ,Gaussian 消元在第 步用主元 消去其下方元素。若主元非零,乘子和尾部更新为
把第 步写成左乘一个消元矩阵公理库矩阵Matrix以有限行列集合为索引、取值于半环,并以中间指标求和定义乘法的函数。 ,便有
其中 上三角, 是单位下三角,并在严格下三角部分保存所有乘子。标准无置换 LU 在每一步主元都非零时存在;等价地,所有顺序领先主子式非零。可逆本身不足以保证这组条件。
实际通用算法在每一列消元前交换行,并把所有交换累积为置换矩阵,得到
因为 ,分解阶段输出置换信息与 ;求解 时依次计算
稠密实矩阵分解的乘加主成本约为 次浮点运算,两个三角求解公理库三角线性方程求解Triangular solve · Forward substitution · Backward substitution按依赖顺序用前代或回代求解三角系统,作为 LU、Cholesky 与 QR 分解后的共同计算底层。合计为 。对 个右端,先分解再成块求解的总尺度为 ,昂贵分解不应重复。因子通常覆盖存回 :严格下三角存 的乘子,上三角含对角存 ,另存主元索引;单位对角不显式保存,也无需构造任何 。
这是一种有限步直接法,没有迭代收敛判据。完成准则是每一步都找到可用主元、因子全部生成、三角求解结束;随后检查尺度化残差与非有限值。若某一步合法候选主元全为零,精确分解检测到奇异;在浮点中,极小主元或数值秩亏还需要尺度与条件估计,不能由任意固定阈值完全判定。结果的后向误差受主元策略与元素增长公理库主元选取与增长因子Pivoting · Growth factor · Partial pivoting通过行列置换限制消元乘子和中间元素增长,并把主元策略与 LU 的有限精度后向误差联系起来。控制,不能从 成本单独推出可靠性。
直觉
消元在改写方程组的同时构造了一张可复用计算图。 记录“每行用了前面哪一行的多少倍”, 记录消元后的阶梯结构, 记录为了找到可靠主元做过的换行。保存这三部分,就能对任何新右端重放前代与回代,无需重新消元;这也是“分解”和“求解”在软件接口中分成两个阶段的原因。
Gaussian 消元的 LU 因子存储 这也解释了 Gaussian 消元、Gauss–Jordan、LU 和求逆的分工。Gaussian 消元只把矩阵化到上三角;Gauss–Jordan 继续消去主元上方以得到 RREF;LU 保存前一种消元的因子。为了解 而形成 ,会额外求出许多当前右端根本不用的信息,并不是默认路线。
例子与边界
矩阵
可逆且行列式为 ,却无法从左上角零元素开始无置换消元。取
交换两行后
已经是上三角矩阵;此例中 、。它直接否定“每个可逆矩阵都有标准无置换 LU”这一常见误写,也说明行交换不是理论装饰。
若同一 要分别求解 ,一次 后只需对每个 做前代和回代。相比每个右端重复约 的消元,这正是矩阵分解作为算法组织方式的价值。
小而非零的主元是另一类边界。精确算术允许继续相除,浮点中却可能产生巨大乘子和中间量;仅检查主元是否等于零远远不够。具体怎样选行、何时还需列交换,以及最坏增长如何进入后向误差,由主元页面独立讨论。
推论与应用
舍入分析把每次消元更新放入浮点算术标准误差模型公理库浮点算术标准误差模型Standard floating-point arithmetic model以每次基本运算的小相对扰动和 gamma 记号组织多步浮点误差分析。,再用增长因子汇总中间元素放大。由此得到的是
一类因子后向误差结论;连同两次稳定三角求解后,才能解释计算解对应哪个邻近系统。小后向误差仍需矩阵条件数才能转换成小前向误差。
行化简公理库行化简Row reduction用初等行变换把矩阵化为阶梯形以求解线性方程组和判定秩。保留行等价、秩与解集的代数解释,本页则规定大规模浮点求解的计算路线:带置换分解,加两次三角求解。Gauss–Jordan 和 RREF 仍适合展示完整解结构,但不应被暗示为稠密方阵单右端的默认数值实现。
行列式可由 的对角线与置换奇偶性得到;多个右端、逆迭代和迭代精化也会复用已有 LU 因子。对对称/Hermitian 正定矩阵,专用的 Cholesky 分解利用更多结构,成本和存储都低于通用 LU。
参考资料
- Lloyd N. Trefethen and David Bau III, Numerical Linear Algebra, SIAM, 1997, Lectures 20–22.
- Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM, 2002, Ch. 9.
- LAPACK Users’ Guide, 3rd ed., SIAM, 1999, LU Factorization.