一维稀疏问题的分解成本是多少?

计算科学 稀疏矩阵 矩阵分解 缩放
2021-12-25 18:41:44

在 Golub 和 Van Loan 的书Matrix Computations,第 606 页中,指出:

使用标准离散化,可以解决二维问题O(n3/2)工作和O(nlogn)填写。对于 3 维问题,典型的成本是O(n2)工作和O(n4/3)填写。

在这里,它们指的是在网格上求解的椭圆偏微分方程问题和n指未知数的数量。我想计算一维问题的成本(可能是线性的)是微不足道的,但我不知道该怎么做。我将不胜感激。

1个回答

它可能有助于定义N,沿一维边的离散点数,并将其与n,系统中的未知数。在点的方形网格上的 2D 中,n=O(N2). 嵌套剖析通过消除“内部”点的级别有效地减少了您通常从离散化中获得的稀疏系统。结果是一个更密集的系统,其大小为几行“分隔符”点,大小为O(n1/2)并且可以直接解决O(n3/2)时间。填充成本来自这样一个事实,即在每个级别消除内部点会将更多点耦合在一起(在矩阵中创建新连接,因此填充)。

3D 成本的产生方式类似,但现在除外n=N3, 分隔符现在是平面O(N2)=O(n2/3)点。解决涉及这些平面的系统然后给你O(n2)成本)。

然而,对于一维问题,n=N,你可以从左到右排序未知数得到一个三对角系统,它可以解决O(n)没有填写Thomas 算法的时间。

编辑:感谢 Bill 指出这是针对标准的低阶有限差分/元素方案 - 例如,高阶 FD 导致带宽增加,高阶 FEM 导致块结构。可以修改 Thomas 算法以给出类似的工作/存储顺序,尽管所涉及的常数会增加。