특이성과 함수를 통합하기 위해 어떤 수치 쿼드 러처를 선택해야합니까?


9

예를 들어, 일부 도메인에서 의 -norm 을 수치 적으로 계산하고 싶습니다. 0을 포함하고 Gauss quadrature를 시도했지만 실패했습니다. 구 좌표를 사용하여 단위 공 의 실제 -norm과는 거리가 멀었습니다.이 작업을 수행하는 좋은 방법이 있습니까? 이 문제는 종종 재진입 코너가있는 도메인의 유한 요소 컴퓨팅 장난감 문제에서 나타납니다. 감사.2=1(엑스2+와이2+2)1/2


2
원점이 통합 영역 내에있는 경우 적분을 분해 한 다음 각 좌표를 구형 좌표로 변환하는 것이 좋습니다.
JM

나는 JM에 동의합니다-미리 특이점의 위치와 구조를 알고 있다면 직교 루틴에 대한 호출을 지능적으로 작성하는 대신 수치 패키지에 공급하고 (a) 희망하는 구조적 정보를 사용하는 것이 좋습니다. 특이점을 찾고 (b) 그들과 옳은 일을한다.

답변:


8

임의 정밀도 부동 소수점 계산을위한 Python 모듈 인 mpmath 를 사용하여 정확한 결과를 얻을 수 있어야합니다 . 문서 에는 특이점과의 통합에 대한 예가 있습니다 . 간격을 나누기 위해 명시 적으로 말하고 싶을 것입니다.

from mpmath import *
f = lambda x,y,z: 1./(x**2+y**2+z**2)**1./3
quad(f,[-1,0,1],[-1,0,1],[-1,0,1])

정밀도를 높여야 할 수도 있습니다 (예 mp.dps=30:) 속도는 느리지 만 정확해야합니다.

quadgk()1D에서 적응 형 Gauss-Kronrod 구적법을 사용 하는 MATLAB에 대한 중첩 호출을 시도 할 수도 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.