有效地计算一些局部特征向量

计算科学 pde 矩阵 本征系统
2021-12-01 18:13:23

H=+V(x):R2R2. 我对涉及特征问题的域分解感兴趣H.

的最低 1000 个特征函数H, ψi, 可以使用区域进行分区,ΩR2, 这样每个ψi本地化任一内部Ω或之外Ω.Ω不是的子空间R2因为它可能是一个形状奇特的区域。

标记内部特征函数ψiin和外面的ψiout. 只有大约10个ψiins。给定Ω,我的目标是有效地计算ψiin.

一种查找方法ψiin将是离散化,计算所有 1000ψis,然后分区。这就是我现在所做的(5 点模具在一个103×103网格)。问题是这需要在 1000 维空间上对角化以获得 10 个特征向量。似乎有一种更便宜的方法来计算ψiin.

有谁知道解决这个问题的现有方法?此外,这是来自https://mathoverflow.net/questions/88171/efficiently-computing-a-few-localized-eigenvectors的转贴

编辑我想我可以解决这个问题,如果我至少能想办法解决

maxψTHψ subject to Pψ=ψ and ψTψ=1
在哪里P是投影到定位在的函数空间上Ω. 如果这是可行的,那么像逆迭代之类的东西应该是可行的,这会给我我想要的。

3个回答

通过选择您期望感兴趣的特征向量所在的局部函数的子空间的基础来离散化。这些定义的列P. 选择一个稍大的子空间的另一个基,该子空间也包含稍少的局部函数和稍多的摆动函数。这些定义的列Q.

现在计算矩阵H:=QHPK:=QP,并解决超定特征值问题HϕEKϕ=min,使用来自 http://www.mat.univie.ac.at/~neum/software/oeig/ 的 OEIG 如果残差不够小,您可以随时增加基础尺寸。

根据您的编辑,您应该能够执行以下操作:

G=HHI
现在解决
PGPψ=λψ
为了第一n特征对,其中ψL2(Ω).

这种转变确保了G只有非正的特征值。然后投影仪将所有外部函数映射到 0。因此,最低特征向量是您请求的具有各自特征值的特征向量λ+H.

编辑:

重写问题:

maxλ,ψPψ2s.t.ψ2=1,Hψλψ2=0
现在您有一个受约束的非线性问题,其中您的所有函数都是凸的(在每个变量中)。

现在您可以使用非线性优化器(例如,IPOPT)。如果您使用的是网格R2,所有涉及的运算符都应该是稀疏的。

编辑:我误解了这个问题。这回答了光谱局部性的不同问题,而不是空间域中的局部性。

我不知道有什么方法可以保证您已经找到了特定区域中的所有特征对,但是您当然可以要求具有某些属性的特征对。下表来自SLEPc手册。内部的特征值更难计算,因此您通常需要使用谐波扩展(某些特征求解器方法可用,不会改变子空间的构建方式)或移位和反转(更强大,使用转换问题)。SLEPc 中提供了这些方法的稳健、可扩展的实现。请注意,MATLABeigs()可用于解决较小的问题。要找到大量内部特征对,您可以考虑使用Zhang、Smith、Sternberg 和 Zapol (2007) 之类的方法。

SLEPc特征值选择