잔류 물을 수치 적으로 계산하는 방법?


15

다음 적분을 계산해야합니다. f ( E ) = T r

12πiCf(E)d이자형
여기서H매트릭스 (하나 개의 입자 운동 및 기초 표현 전위 에너지) 인G가에 의존하는 행렬E(하나의 입자 액션 바디 그린 함수) 및 윤곽 적분 좌측 반원된다. 정수f(E)는 음의 실제 축에 극점이 있으며 평가하는 데 비용이 많이 듭니다. 그러한 적분을 계산하는 가장 효과적인 방법은 무엇입니까?
에프(이자형)=아르 자형((h+이자형)(이자형))
h이자형에프(이자형)

지금까지 내 연구는 다음과 같습니다.

1) 가우시안 통합을 사용하는데 통합 경로는 사각형입니다. 왼쪽과 오른쪽 (예 : 너비)을 고정하고 주어진 통합 순서에 대해 가장 높은 정확도를 얻도록 높이 (실제 축 위와 아래)로 연주했습니다. 예를 들어 20 차의 경우 높이가 너무 크면 정확도가 떨어지고 (분명히) 너무 작 으면 내려갑니다 (내 이론은 높이가 갈수록 극 주위에 더 많은 점이 필요하다는 것입니다) 0). 나는 내 기능에 대해 최적의 높이 0.5로 정착했습니다.

2) 그런 다음 사각형의 오른쪽을 E0, 일반적으로 E0 = 0으로 설정했지만 E0 = -0.2 또는 이와 비슷한 것일 수 있습니다.

3) 사각형의 왼쪽을 왼쪽으로 이동하기 시작하고 각 단계마다 적분 순서 수렴을 수행하여 내 사각형이 각 사각형에 대해 완전히 수렴되도록합니다. 너비를 늘리면 무한 왼쪽 반원의 한계에 수렴 된 값이 생깁니다.

계산 속도가 느리고 너비가 큰 경우에도 정확하지 않습니다. 한 가지 개선 사항은 단순히 긴 너비를 "요소"로 분할하고 각 요소에 가우시안 통합을 사용하는 것입니다 (FE 에서처럼).

다른 옵션은 각 기둥 주위에 작은 원을 통합하고 요약하는 것입니다. 문제 :

a) 함수 의 극점을 수치 적으로 찾는 방법은 무엇입니까? 견고해야합니다. 내가 아는 유일한 것은 그들이 음의 실제 축에 있다는 것입니다. 그들 중 일부 (전부가 아님)에게도 초기 추측이 꽤 좋습니다. 분석 함수 f ( E )에 작동하는 방법이 있습니까? 아니면 실제 형태의 f ( E ) 에 의존 하는가?f(E)f(E)f(E)

b) 극점을 알면 작은 원을 그 주위에 통합하는 데 가장 적합한 수치 체계는 무엇입니까? 서클에서 가우시안 통합을 사용해야합니까? 아니면 포인트의 균일 한 분포를 사용해야합니까?

또 다른 옵션은 a) 덕분에 극을 알면 복잡한 통합없이 잔류 물을 얻는 반 분석 방법이있을 수 있습니다. 그러나 지금은 윤곽 통합을 최적화하는 것이 기쁠 것입니다.


1
Cohen (2007)의 "Laplace Transform Inversion에 대한 수치 적 방법"책을 확인 했습니까? IIRC, QUADPACK의 Robert Piessens도이 주제에 대해 작업했습니다.
GertVdE

답변:


7

첫 번째 질문에 대한 제안을 제안 할 수 있습니다. 극이 실제 축을 따라 있다는 것을 알고 있다면 Rational interpolation / approximation을 사용하여 극을 효율적으로 지역화 할 수 있습니다 . 이것은 다항식 q ( x ) 를 찾는 것과 같습니다.p(x)q(x)

f(x)p(x)q(x)

위한 일부 구간이다. f ( x ) 의 극점은 q ( x ) 의 근과 일치 해야합니다.xf(x) q(x) .

합리적인 보간 / 근사는 까다로울 수 있지만 최근 에는 SVD를 사용하여 계산하기 위해 안정적인 알고리즘에 대한 논문 을 공동 작성했습니다 . 이 논문에는 알고리즘을 구현하는 Matlab 코드가 포함 ratinterp되어 있으며 Chebfun 프로젝트 에서 더 광범위한 버전을 함수 로 사용할 수 있습니다. 개발자 중 한 명입니다.

두 번째 질문에는 이 백서 가 유용 할 수 있습니다.


모든 팁에 감사드립니다! 다음은 Bengt Fornberg 논문 의 코드 netlib.org/toms/579 입니다. 불행히도, 이것은 내가 얻는 결과이기 때문에 수치 버그가 있습니다 : gist.github.com/2942970#file_output . 다시 구현하거나 디버깅해야합니다. Chebfun 링크는 404를 제공합니다 (몇 달 전에 동일한 결과로 시도 했으므로 미국에서 작동하지 않을 수 있습니다).
Ondřej Čertík 2016 년

@ OndřejČertík : TOMS 579 코드를 직접 사용한 적이 없으므로 오류에 대해 무엇을 말 해야할지 모르겠습니다. Chebfun 홈페이지는 "googling"을 시도하여 작동하는지 확인할 수 있습니까?
Pedro

Google은 Chebfun 홈페이지를 찾아 캐시 된 버전을 보여줍니다. 그러나 페이지를 클릭하면 다음과 같은 결과가 나타납니다. pastehtml.com/view/c1ts4h3ct.html
Ondřej Čertík

다른 브라우저를 사용해 보시겠습니까? 또는 다른 ISP에서 제공 한 것입니다. 웹 사이트는 여기 (미국)에서 잘 작동합니다.
Costis

Firefox와 Chrome을 사용해 보았습니다. 따라서 내 ISP 가해 야합니다. 기묘한.
Ondřej Čertík 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.