求解具有周期性边界条件的椭圆特征问题

计算科学 线性代数 特征值 椭圆pde
2021-12-26 09:19:09

给定一个能级μ,我正在寻找与圆环上与时间无关的薛定谔算子相对应的特征向量(即周期性边界条件)——H=h2Δ+V对于一些不错的,有限的潜力V-- 其特征值最接近μ.

我想知道是否有一些标准技术可以解决这个特定问题,在哪里h可以相当小,比如说h=0.001.

我目前的方法是天真的方法(根据我的估计):我使用 DFT 转换为相空间,从而可以计算映射u^(Hu)^=h2|k|2u^+V^u^, 然后对矩阵使用标准的 Krylov 方法(H^μI)1,其中对应于该逆的映射是使用双共轭梯度计算的。

这种方法有几个关键问题。第一个是h非常小,因此对于某些能级,我必须将 DFT 使用到非常高的频率才能获得准确的离散化,但这意味着H^是一个都大(大于10000×10000) 和密集,所以 Krylov 方法仍然相当昂贵,特别是因为在每次 Arnoldi 迭代中我都必须进行全套 CG 迭代。

还有其他我应该尝试的标准方法吗?我会很感激任何建议。即使这是显而易见的事情,我可能还没有想到它,因为我不太精通数值特征值问题,尤其是在微分算子的情况下。

1个回答

首先是一个问题:您使用什么程序来执行矩阵的特征分解?

与其在相空间中寻找答案,不如在物理空间中考虑您的问题。在这种情况下,您可以使用标准的有限差分公式来近似Δu在每个点上,然后形成一个对应于该系统的矩阵,等等。

这样做的原因是生成的矩阵是稀疏的,因此计算矩阵向量乘积的算术较少。如果您正在查看高频,则需要很多点来解决它们,因此您的系统将是高维度的;稀疏真的在这里拯救了你。Matlab 和 Scipy 都具有内置的稀疏矩阵数据类型,您必须使用它们才能利用这一点。

您还提到了使用 Arnoldi 流程。使用 Lanczos 过程会更快,因为您的问题是对称的。如果您使用的程序足够聪明,可以检测到您的矩阵是对称的并采取相应措施,那么您不必担心这一点,但如果您明确选择了 Arnoldi,那么您可能会在求解上 Hessenberg 系统时做不必要的工作。三对角系统。尽管如此,您仍然会找到最接近运算符零的特征值(HμI)1——至少不会改变。

我还要向你指出这个线程作为一个警告:本征求解器可能会给出错误的结果,如果你将结果解释为描述量子系统,那么这种结果是非常不物理的。长话短说,不要寻找矩阵的整个频谱,只寻找前几个特征值。听起来这就是你正在做的事情。