矩阵方程求解:方法与软件工具
1. 矩阵分解与条件数
在矩阵运算中,LU 分解是一种重要的矩阵分解方法。这里介绍一种右视块 LU 分解算法。在该算法里,会先计算 $\tilde{B} {33} = \tilde{A} {33} - L_{32}U_{23}$,由于尾随子矩阵仅包含一个块,接着计算 $LU(\tilde{B} {33}) = [LU] {33}$,最终得到 LU 矩阵。此算法之所以被称为右视块 LU 分解,是因为在每一步中,尾随子矩阵都位于右下角。除了标量分解,其他步骤均为矩阵 - 矩阵运算,可借助 Level 3 BLAS 函数(如 gemm 和 trsm)高效执行。
矩阵的条件数也是一个关键概念。对于矩阵系统 $Ax = b$,我们期望了解 $b$ 的估计误差对解 $x$ 的影响。矩阵的条件数定义为 $\kappa(A) = |A^{-1}||A|$,若选择 2 - 范数,条件数则为 $\kappa(A) = \frac{\lambda_{max}(A)}{\lambda_{min}(A)}$,其中 $\lambda_{min}(A)$ 和 $\lambda_{max}(A)$ 分别是矩阵 $A$ 的最小和最大特征值。条件数之所以重要,是因为矩量法系统矩阵和右侧向量的许多元素是通过数值积分得到的,积分中的小误差可能会因条件数不佳的系统矩阵而被放大。同时,条件数对迭代方法的收敛速度也有直接影响。
2. 迭代方法概述
迭代求解技术近年来愈发流行。在这些算法中,大部分计算时间用于在每次迭代时计算系统矩阵与一个或多个向量的矩阵 - 向量乘积。尽管仍需存储完整矩阵,但总体计算时间为 $O(MN^2)$,其
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



