使用有限差分解决特征值问题,无需矢量化

计算科学 有限差分 矩阵 特征值
2021-12-06 07:25:18

我有兴趣解决问题Au=λu在正方形的有限差分网格上。就我而言,运营商A是类型Δ+μI, 在哪里μ有没有施加一些限制。到目前为止我使用的方法是考虑有限差分网格并得到

4ui,jui,j+1ui,j1ui+1,jui1,j+μi,jui,j=λui,j
然后我们变换ui,j在向量中并以矩阵形式写出上述问题Au=λu. 我遇到的问题是矩阵的大小An×n, 在哪里n是网格中的点数。因此,对于具有N2点矩阵的维数是N2×N2. 因此,矩阵的大小相对于离散化增长得非常快。

是否可以在没有矢量化的情况下解决此类问题,即仅使用大小矩阵N×N?

我的想法如下:如果我们表示U=(ui,j)那么离散偏微分方程可以写为

(4IS0,1S0,1S1,0S1,0)U+μU=λU,
在哪里Si,j是矩阵的位移i在水平和j在垂直方向。是“逐点”产品。这可以导致解决方案吗?

1个回答

当然可以使用迭代方法,因为您可以应用您的运算符uAu便宜的同时保持u以“矩阵形式”。它只是一个双重嵌套的循环。查看ARPACK,或更一般的 Arnoldi-(或 Krylov-)类型方法:在大多数实现中,您可以使用计算的“黑盒”例程作为输入Auu,而不是显式矩阵。

这些方法最适合只计算频谱的一小部分(例如,最大或最小特征值及其对应的特征向量),现在它们是数值求解大型和稀疏特征问题的标准方法。