“固定 $\mu$ 时,可先对 $A \mu I$ 做一次分解,每步只复用因子完成三角求解。稠密一次分解为 $\Theta(n^3)$,每个后续迭代为 $\Theta(n^2)$;稀疏情形取决…”
形式陈述 ​
前代输入非奇异下三角矩阵
回代输入非奇异上三角矩阵
两种算法的计算图都由三角结构决定:当前未知量只依赖已经求出的分量。输入是矩阵、一个或多个右端及其三角和单位对角约定;输出是解向量,若遇到零对角元则报告奇异,不能继续除法。单位对角时相应除法可以省去。
稠密单右端需要约
在标准浮点模型下,常规前代和回代具有分量后向稳定性:计算结果
其中
直觉 ​
一般线性系统里,各未知量彼此缠绕;三角系统已经把这团依赖排成单向链。前代从顶部已知最少的方程向下传播,回代则从底部最后一个未知量向上解开。LU、Cholesky 和 QR 的价值,正是先花较大成本把一般问题改造成若干这样的有序系统。
显式求逆会破坏这份优势。为了得到
例子与边界 ​
取上三角系统
回代先得
每一步只使用下方已经确定的分量,计算图和公式完全一致。
对角元非零只保证精确算术中存在唯一解,不保证问题良态。若
稀疏情形还有另一层边界:某些行彼此独立,可以并行;另一些非零模式形成长依赖链,只能顺序推进。仅凭“非零元很少”不能断言三角求解具有同样的并行度。
推论与应用 ​
LU 分解把求解化成一次前代和一次回代;Cholesky 使用
实现层面应调用成熟的 BLAS/LAPACK 三角求解接口,并明确转置、共轭转置、单位对角和存储布局。即使已有因子,多个右端、内存访问与稀疏依赖仍可能成为总成本的重要部分。
参考资料
- Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM, 2002, Ch. 8.
- Gene H. Golub and Charles F. Van Loan, Matrix Computations, 4th ed., Johns Hopkins University Press, 2013, §3.1.
- LAPACK Users’ Guide, Solving Systems of Linear Equations.