可以使用什么启发式方法来最小化 5 点拉普拉斯离散化的渐近矩阵带宽?

计算科学 pde 有限差分 复杂 带状矩阵 启发式
2021-12-02 13:07:30

我可以看到有多种启发式方法可以实现具有最小带宽的矩阵。作为启发式方法,它们不能保证多项式时间内的最优解(毕竟,问题是 NP 完全的)。

那么,我想知道,对于泊松问题的有限差分离散化,带宽如何随着问题规模的增加而扩大?

随着空间分辨率的降低,带宽是否接近网格点的数量?还是保持不变?哪些方法产生最小的带宽(渐近)?如果成本太大而无法产生最小带宽,那么哪些算法可以平衡计算成本和宽度成本?

2个回答

它取决于域的形状和局部细化的存在,但对于维度的各向同性域,可实现的最小带宽缩放为其中是元素的总数(或顶点)。您可以使用像Reverse Cuthill-McKee这样的方法来生成合理的低带宽排序。dNd1dN

然而,最小化带宽并不是稀疏直接求解器排序技术的目标实际上,这将导致非零,但最佳排序(通常通过大多数包使用的嵌套剖析等排序找到)具有非零在 2D 中和在 3D 中非零。有关此结果的详细信息,请参见George、Liu 和 Ng 的书N2d1dNlogNN4/3

订单的视觉比较

下面以图形方式比较了规则网格上的 5 点拉普拉斯算子的排序。对于每个排序,我报告了网格因子中的非零数。请注意,这种差异在 3D 中更为明显。您可以使用 PETSc 绘制填充矩阵和诊断:12×12LU100×100

$ cd $PETSC_DIR/src/ksp/ksp/examples/tutorials && make ex2  

$ ./ex2 -m 12 -n 12 -ksp_view -pc_type lu -pc_factor_mat_ordering_type nd -mat_view_draw -draw_pause 2

自然排序中的矩阵和因子(1990198 个非零)AL

$A$ 自然排序 自然排序中的 $L$ 因子

逆 Cuthill-McKee 排序中的矩阵和因子(1353100 个非零)AL

$A$ 反向 Cuthill-McKee 排序 反向 Cuthill-McKee 排序中的 $L$ 因子

嵌套剖析排序中的矩阵和因子(382934 个非零)AL

$A$ 嵌套解剖排序 嵌套剖析排序中的 $L$ 因子

另一方面,低带宽排序对于不完全分解和松弛(如 SOR)通常是合理的排序(在算法上),并且倾向于很好地重用缓存(因此有利于吞吐量)。为了在结构化网格上获得最大性能,您可以跳过列索引(因为它们具有规则结构)并仅存储模板系数,甚至可以即时重新计算系数。非常值得使用性能模型进行仔细的剖析和分析,以确定这样的优化是否值得花费实施时间和降低灵活性。

重新排序算法的比较以及它们对迭代求解器的影响也在这里(向下几页):

http://www.dealii.org/developer/doxygen/deal.II/namespaceDoFRenumbering.html