1
如何数值计算残渣?
我需要计算以下积分: 其中是一个矩阵(一个粒子的动能和势能以基数表示),是一个依赖于的矩阵(一个单粒子多-体格林函数),轮廓积分是左半圆。积分在负实轴上具有极点,因此评估起来很昂贵。计算这种积分最有效的方法是什么?1个2个π一世∫CF(è)dË1个2π一世∫CF(Ë)dË {1\over 2\pi i} \int_C f(E) \, d E F(è)= T r((h + E)G(E))f(Ë)=Ť[R((H+Ë)G(Ë)) f(E) = {\rm Tr}\,\left(({\bf h} + E)\,{\bf G}(E) \right) HH\bf hGG\bf GËËEF(è)F(Ë)f(E) 到目前为止,这是我的研究: 1)我使用高斯积分,我的积分路径是一个矩形。我固定了左侧和右侧(即宽度),并以高度(在实轴上方和下方)播放,因此对于给定的积分顺序,我可以获得最高的精度。例如,对于20阶,如果高度太大,则精度会下降(很明显),但是如果它太小,则精度也会下降(我的理论是,随着高度的增加,极点周围需要越来越多的点0)。我将功能的最佳高度定为0.5。 2)然后我将矩形的右侧设置为E0,通常为E0 = 0,但也可以是E0 = -0.2或类似的值。 3)我开始将矩形的左侧移到左侧,并为每一步进行积分顺序收敛,以确保每个矩形的积分都完全收敛。通过增加宽度,我最终在无穷左半圆的极限处得到了一个收敛值。 计算确实很慢,而且对于大宽度也不太准确。一种改进是将长宽度简单地划分为“元素”,并对每个元素使用高斯积分(就像在FE中一样)。 另一个选择是在每个极点周围集成一个小圆圈并将其汇总。问题: a)如何从数值上找到函数的极点?它应该很健壮。我唯一知道的是它们在负实轴上。对于其中一些(但不是全部),我也知道一个很好的初步猜测。是否存在适用于任何解析函数?还是取决于的实际形式?F(è)F(Ë)f(E)F(è)F(Ë)f(E)F(è)F(Ë)f(E) b)一旦我们知道了极点,哪种数值方案最适合积分围绕它的小圆圈?我应该在圆上使用高斯积分吗?还是应该使用点的均匀分布? 另一个选择可能是,一旦有了a)我就知道了极点,那么可能会有一些半解析的方式来获得残基,而无需复杂的集成。但是现在,我很乐意仅优化轮廓集成。