线性方程组迭代方法的并行实现
1 线性方程组迭代方法概述
求解线性方程组时,迭代方法是一种常用的手段。其基本步骤包括迭代矩阵 $C$ 与向量 $x^{(k)}$ 的矩阵 - 向量乘法,以及乘法结果与向量 $d$ 的向量 - 向量加法。不同的迭代方法,如雅可比迭代和高斯 - 赛德尔迭代,会利用迭代矩阵的特定结构。
1.1 雅可比迭代
雅可比迭代中,迭代矩阵 $C_{Ja} = D^{-1}(L + R)$,其计算步骤如下:
1. 计算 $(L + R)$ 与 $x^{(k)}$ 的矩阵 - 向量乘法。
2. 将上述乘法结果与向量 $b$ 进行向量 - 向量加法。
3. 计算结果与 $D^{-1}$ 的矩阵 - 向量乘法($D$ 为对角矩阵,$D^{-1}$ 易于计算)。
顺序实现使用公式 (7.37),依次计算近似向量 $x^{(k + 1)}$ 的各个分量 $x^{(k + 1)}_i$,$i = 1, \ldots, n$,此过程需要完整的向量 $x^{(k)}$。
1.2 高斯 - 赛德尔迭代
高斯 - 赛德尔迭代中,迭代矩阵 $C_{Ga} = (D - L)^{-1}R$,计算步骤如下:
1. 计算上三角矩阵 $R$ 与 $x^{(k)}$ 的矩阵 - 向量乘法。
2. 将上述乘法结果与向量 $b$ 进行向量 - 向量加法。
3. 求解系数矩阵为下三角矩阵 $(D - L)$ 的线性方程组。
顺序实现使用公式 (7.38),由于计算 $x^{(k + 1)} i$ 时总是使用最新计算的近似分量,因此可以直接覆盖 $x