초 지오 함수의 평가를위한 효율적이고 정확한 알고리즘은 무엇입니까?


16

다음과 같이 정의 된 일반화 된 초 지오메트리 함수 (또는 시리즈) 를 평가하기 위해 어떤 좋은 수치 알고리즘이 있는지 알고 싶습니다.

pFq(a1,,ap;b1,,bq;z)=k=0(a1)k(ap)k(b1)k(bq)kzkk!

일반적으로이 시리즈는 반드시 매우 빠르게 (또는 전혀) 수렴 될 필요는 없으므로 용어를 하나씩 요약하면 이상적이지 않은 것 같습니다. 더 나은 대체 방법이 있습니까? 구체적으로 말하면, 합리적인 수의 계산으로 4 또는 5 자리의 정밀도를 제공하는 것을 찾고 있습니다.

내가 일반적으로 사용하는 가장 일반적인 경우는 p = 2 , q = 1 이지만 작업중 인 특정 프로젝트에서는 p = 1 , q = 2가 필요 합니다. 분명히 pq에 대한 일반적인 알고리즘 이 이상적이지만 얻을 수있는 것을 취할 것입니다.p=1,q=1p=2,q=1p=1,q=2pq


귀하의 사례가 Abramowitz 및 Stegun 's Handbook ( people.math.sfu.ca/~cbm/aands/subj.htm )에서 다루지 않는 경우, 귀하는 기본적으로 스스로 알아낼 운명입니다. m 두려워 ...
Jaime

답변:


15

단일 응용 프로그램에서는 일반화 된 초 지오메트리 함수의 가능한 모든 극단의 작은 하위 집합 만 필요할 가능성이 큽니다. 결국 매우 일반적인 기능입니다. 의 범위에 대해 생각하는 데 및 매개 변수의 , b를 내가 더 구체적인 조언을 제공 허용합니다.zai,bi

일반적으로 이라고 가정하는 표준 방법 은 | z | 작다. 경우 p는 < Q + 1 , 그것이 점근 확장에 스위치에 가장 좋은 때 | z | Taylor 시리즈는 너무 느리게 수렴하거나 치명적인 취소로 인해 너무 부정확 해지기 때문에 크기가 큽니다. 이 알고리즘들 사이의 가장 좋은 컷오프는 매개 변수와 정확도 요구 사항에 따라 다릅니다.pq+1|z|p<q+1|z|

에 대한 점근 시리즈는http://functions.wolfram.com/HypergeometricFunctions/Hypergeometric1F2/06/02/03/에의해 제공됩니다.다소 끔찍해 보이지만 a 1 , b 1 , b 2 가 고정되어 있으면 계수의 수치를 미리 계산하십시오. 일반 공식은 DLMF에 있습니다 :http://dlmf.nist.gov/16.11(올바른 가지 절단을 선택하려면 약간의주의가 필요합니다.)1F2a1,b1,b2

Taylor 시리즈 나 점근 시리즈가 제대로 작동하지 않는 범위가 있으면 "지수 적으로 개선 된 확장"이 유용 할 수 있습니다. 언급 할 가치가있는 또 다른 가능성은 초기 하 미분 방정식을 범용 ODE 솔버에 꽂을 수 있다는 것입니다. 4-5 자리 만 필요한 경우 특히 잘 작동합니다. 작은 (파워 시리즈가 잘 작동하는 곳)에서 더 큰 z 까지 분석 연속을 수행 하거나 점근 적 계열을 통해 얻은 값과 반대로 분석에 사용할 수 있습니다. 초기 값으로 필요한 파생 상품).z

전체 복잡한 평면에서 함수가 필요한 경우 1 / z 변환 공식을 사용하여 단위 디스크의 외부를 내부에 매핑 할 수 있습니다. ODE의 수치 적분과 같은 일부 수렴 가속 알고리즘 또는 기타 방법은 단위 원에 가깝게 사용해야합니다. 경우 P > Q + 1 반경 수렴 당신은 발산 시리즈에 의해 주어진다 평가하려는 기능, 당신은 적용해야 할 수 있습니다 그래서 보렐은 수렴 시리즈를 줄이기 위해 (수치 또는 상징적으로) 변환, 제로이다.p=q+11/zp>q+1

완전한 구현을 위해서는 고려해야 할 다른 문제들도 있습니다 (예를 들어, 매우 크거나 음의 정수에 매우 가까운 매개 변수 처리). 충분히 나쁜 매개 변수의 경우 수행하는 작업에 관계없이 배정 밀도로 정확한 값을 얻는 것이 매우 어려우므로 임의의 정밀도 산술이 필요할 수 있습니다.

나는 mpmath 라이브러리에 대한 일반화 된 초 지오메트리 함수의 거의 완전한 수치 구현을 작성했음을 주목해야한다. 2F3


우수한! 불행히도 함수는 다양한 값을 가진 여러 곳에서 팝업되기 때문에 매개 변수 값에 대해 더 구체적으로 알 수 없습니다. mpmath에서의 구현을 어느 시점에서 사용 및 / 또는 보는 데 확실히 관심이 있습니다.
David Z

1
프레드릭의 대답은 맞습니다. 나는 모든 실제 "z"에 대해 정확하기 때문에 "a"및 "b"계수의 특수 값에 대해 합리적인 근사법 (Mathematica의)을 사용하게되었다는 것을 지적 할뿐입니다 (실제 축을 간격으로 분할 함). 각각에 대해 다른 합리적인 근사법을 사용했으며 매우 빠릅니다. Fortran에서 mpmath를 사용하여 배정도 구현의 정확성을 확인했습니다.
Ondřej Čertík

2

모든 특수 기능에 대한 표준 참조는 Abramowicz와 Stegun입니다. 이 책은 약 반세기가 지났으며, 찾을 수없는 것이 있다면, "National Institute of Standards (NIST)가 주관하는 웹 사이트 인"업데이트 된 두 번째 판 "을 살펴보십시오. ). 정확한 URL이 없지만 찾기가 어렵지 않습니다.


2
이제는 "수학적 함수의 디지털 라이브러리"라고합니다. 초 기하 함수는 15 장의 주제입니다 .
Christian Clason

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