线性方程组迭代法的并行实现
1. 迭代法基础
在求解线性方程组时,常用的迭代法有雅可比迭代法(Jacobi Iteration)和高斯 - 赛德尔迭代法(Gauss - Seidel Iteration)。这些方法利用迭代矩阵的特定结构进行计算。
1.1 雅可比迭代法
雅可比迭代法的迭代矩阵 $C_{Ja} = D^{-1}(L + R)$,其计算步骤如下:
1. 计算 $(L + R)$ 与 $x^{(k)}$ 的矩阵 - 向量乘法。
2. 将上述结果与向量 $b$ 进行向量 - 向量加法。
3. 计算与 $D^{-1}$ 的矩阵 - 向量乘法($D$ 是对角矩阵,$D^{-1}$ 易于计算)。
顺序实现使用公式 (8.37),依次计算分量 $x^{(k + 1)}_i$,$i = 1, \cdots, n$,此计算需要整个向量 $x^{(k)}$。
1.2 高斯 - 赛德尔迭代法
高斯 - 赛德尔迭代法的迭代矩阵 $C_{Ga} = (D - L)^{-1}R$,计算步骤如下:
1. 计算上三角矩阵 $R$ 与 $x^{(k)}$ 的矩阵 - 向量乘法。
2. 将结果与向量 $b$ 进行向量 - 向量加法。
3. 求解系数矩阵为下三角矩阵 $(D - L)$ 的线性方程组。
顺序实现使用公式 (8.38),由于计算 $x^{(k + 1)} i$ 时总是使用最新计算的近似分量,因此可以直接覆盖 $x^{(k)}_i$。迭代方法在当前近似值足够接近精确解时停止,使用相对误差进行误差控制,每次迭代后根据 $|x^{(k +
超级会员免费看
订阅专栏 解锁全文
4771

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



