线性代数与快速傅里叶变换:稀疏矩阵、迭代方法及FFT详解
1. 求解泊松方程的迭代步骤
在求解泊松方程时,不同的预条件子和网格大小会影响迭代步骤。以下是在31x31和63x63网格上,以相对残差精度为10⁻⁶求解泊松方程的迭代步骤表格:
| 预条件子 | n = 31 | n = 63 |
| — | — | — |
| Jacobi | 76 | 149 |
| Block Jacobi | 57 | 110 |
| Symmetric Gauss - Seidel | 33 | 58 |
| Symmetric block Gauss - Seidel | 22 | 39 |
| SSOR (w = 1.8) | 18 | 26 |
| Block SSOR (w = 1.8) | 15 | 21 |
从表格中可以看出,随着网格大小的增加,迭代步骤通常会增多。不同的预条件子对迭代步骤的影响也很明显,例如Block SSOR在两种网格大小下的迭代步骤相对较少,表现较好。
2. 并行化
PCG和GMRES中最耗时的部分是系统矩阵A的矩阵 - 向量乘法以及用预条件子M求解线性系统。当向量分布在连接较弱的内存中时,内积和向量范数的计算也会变得昂贵。因此,需要对这三个关键操作进行并行化。
假设稀疏矩阵按块行分布在处理器上,相应地,向量也按块分布。矩阵的行和列编号会强烈影响PCG和GMRES中关键操作的并行性。
3. 稀疏矩阵向量积
3.1 存储格式
稀疏矩阵有多种存储方式,这里主要介绍流行的压缩稀疏行(CS
订阅专栏 解锁全文
1075

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



