Załóżmy, że mam następującą interesującą funkcję: Ma pewne nieprzyjemne właściwości, takie jak jego pochodna, która nie jest ciągła przy racjonalnych wielokrotnościach . Podejrzewam, że zamknięty formularz nie istnieje.π
Mogę to obliczyć, obliczając sumy częściowe i używając ekstrapolacji Richardsona, ale problem polega na tym, że zbyt wolno jest obliczać funkcję z dużą liczbą cyfr dziesiętnych (na przykład 100 byłoby fajne).
Czy istnieje metoda, która lepiej poradzi sobie z tą funkcją?
Oto wykres z kilkoma artefaktami:
convergence
extrapolation
Cyryl
źródło
źródło
Odpowiedzi:
Jeśli techniki analityczne są niedozwolone, ale znana jest struktura okresowa, oto jedno podejście. Niech będzie okresowe z okresem , tak aby gdzie Tak więc Możesz albo zbliżyć całki bezpośrednio, albo obliczyć kilka 2πg(x)=∑jwjeijxwj=1
źródło
Dla ze liczbą całkowitą mamy gdzie jest funkcją trygammy ( http://en.wikipedia.org/wiki/Polygamma ). Oto wykresy funkcji i jej pochodnej z usuniętymi artefaktami:x=2πa/b a,b ψ1(z)
źródło
Co powiesz na transformację u Levina ? Oprócz kodów Fortan istnieje kilka wersji w GSL : `gsl_sum_levin_u * ' . MuPAD i Maple Matlaba używają tego schematu.
źródło