FD离散拉普拉斯算子的最大特征值

计算科学 本征系统 有限差分
2021-12-01 15:34:43

从非均匀结构化网格(像那样 )的最大(幅度)特征值是否有很好的近似值2

当然,总是可以使用通用方法,例如 Lanczos 或 Power Iteration,但我对更便宜的方法感兴趣,可能不太准确。

我在“常微分方程和偏微分方程的有限差分方法”中找到了拉普拉斯算子的特征值和特征向量的精确表达式,第21 页显然这些公式不能扩展到非均匀网格的情况。

我试过 Gerschgorin 磁盘定理。下载了这个matlab 脚本并使用以下几行为统一网格创建了 5 点 2D 拉普拉斯算子:

m=10;
h=10;
I = speye(m);
e = ones(m,1);
T = spdiags([e -4*e e],[-1 0 1],m,m);
S = spdiags([e e],[-1 1],m,m);
A = (kron(I,T) + kron(S,I)) / h^2;

结果如下所示:

均匀网格上拉普拉斯算子的 Gershgorin 圆盘图

边界足够好。

3个回答

在均匀网格上,特征值对应于振荡函数。对于形式为的振荡函数,特征值为在均匀网格上,网格上可表示的最高波矢满足其中是方向上网格尺寸的两倍。所以我们得到的特征值。eikx|k|2ki=2πλiλi=2hiiπ2i=1d1hi2

这种结构并不完全适用于非均匀网格,但我希望最大的特征值仍然与位于网格最小区域周围的振荡特征函数相关联。如果是这样,对于像你展示的那样的网格,那么最大的特征值将大约是,其中是坐标方向上的最小网格尺寸。π2i=1d1hmin,i2hmin,ii

对于矩形网格和齐次边界条件,人们知道确切的特征函数uk(x)的拉普拉斯算子。

即使您有一个带有节点的不均匀网格xl(lL),您可以离散化所需特征值的特征函数:评估网格点处的特征函数以获得向量v在您的离散表示中,带有组件vl=u(xl). 因为离散化的函数是连续问题的特征向量,v是特征向量的良好近似v离散矩阵A.

然后计算相应的瑞利商vTAv/vTv. RQ 是一个O(ϵ2)一个特征值的逼近如果v是一个O(ϵ)近似于相应的特征向量。因此,您应该为离散拉普拉斯算子的相应特征值提供一个相当好的值,网格越精细越好。

在其他已知精确特征函数的情况下,也可以这样做。

如果您正在寻找一种严格的数值方法来估计对称矩阵的最大特征值,您可以使用 Jacobi 旋转。第 1 章给出了对该算法的一个很好的处理。Golub 和 van Loan 的Matrix Computations 8 (对于非对称特征值问题,您基本上必须诉诸于幂法之类的方法,这在同一本书的第 7 章中有介绍)。本质上,该算法将矩阵的“能量”推到主对角线上,导致对称矩阵收敛到特征值的对角矩阵。由于矩阵已经对角占优,因此该方法的收敛速度应该相对较快,即使它会导致将五对角矩阵填充为密集矩阵。填写的条目会很小。

Jacobi 旋转的形式允许旋转的应用即使对于密集矩阵也很便宜。旋转是具有四个非零非对角线条目的单位矩阵。如果您只想要最大特征值的下降估计,则不必运行算法以完全收敛。您可以运行该算法几次,直到非对角线条目对于您的目的而言“足够小”,然后扫过矩阵的主对角线并选择最大值。