Obliczasz szereg oscylacyjny z dużą precyzją?

13

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.π

f(x)=k1coskxk2(2coskx).
π

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:f(πx)

Pochodna funkcji, $ f '(\ pi x) $

Cyryl
źródło
1
Być może możesz użyć faktu, że , gdzie jest wielomianem . Następnie sumowanie zaczyna wyglądać jak seria racjonalnych wielomianów. Następnie, jeśli uda się przekształcić serię w racjonalny wielomian w oparciu o Czebiszewa, pozwoli to na bardzo skuteczny sposób podsumowania. Jeśli nie znasz wielomianów i podstaw Czebiszewa , Przepisy numeryczne w C mają dobry starter, a także: www2.maths.ox.ac.uk/chebfun/ATAP/ATAPfirst6chapters.pdfT k ( x )cos(kx)=Tk(x)Tk(x)
Jay Lemmon
1
er, to powinno powiedziećcos(kx)=Tk(cos(x))
Jay Lemmon
@JayLemmon Dziękujemy za ten link. Zajrzę i zobaczę, czy to pomoże.
Kirill
Dołączam do tej imprezy trochę później, ale czy próbowałeś użyć przybliżeń Padé, tj. Varepsilon -Algorytm zamiast ekstrapolacji Richardsona? ε
Pedro
Analogicznie do przypadku całek silnie oscylacyjnych, nie sądzę, że będziesz w stanie wykonać dobrą robotę bez pewnej wiedzy na temat rozdziału części oscylacyjnych od nieoscylacyjnych. Jeśli masz takie rozdzielenie, odpowiedź z serii Fouriera zapewnia łatwą konwergencję wykładniczą.
Geoffrey Irving

Odpowiedzi:

7

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

g(x)=cosx2cosx
2π
g(x)=jwjeijx
wj=12π02πg(x)eijxdx
f(x)=k1g(kx)kp=k11kpjwjeijkx=jwjk1(eijx)kkp=jwjLip(eijx)
wjf(x)wartości i użyj DFT. W obu przypadkach można potencjalnie zastosować ekstrapolację Richardsona do wyniku. Ponieważ w twoim przypadku jest analityczne w sąsiedztwie , końcowa seria zbiega się wykładniczo nawet bez Richardsona.g(x)R
Geoffrey Irving
źródło
Zakładam, że masz na myśli ? g(x)=cos(x)/(2cos(x))
Geoff Oxberry
3

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/ba,b ψ1(z)

f(x)=k1coskxk2(2coskx)=k=1bcoskx2coskxn01(k+bn)2=k=1bcoskx2coskxψ1(k/b)b2
ψ1(z)Wartości i pochodne dla serii
Geoffrey Irving
źródło
Dziękuję Ci. Problem polega na tym, że wybrałem tę konkretną funkcję jako model innej, bardziej skomplikowanej funkcji, którą tak naprawdę chciałem ocenić, mając podobne cechy, ale w rzeczywistości nie takie same. Znam zamknięty formularz z tego pytania na MSE . Miałem na myśli to pytanie o sumowanie nieskończonej serii numerycznie bez formy zamkniętej.
Kirill
Może moja inna odpowiedź jest lepsza?
Geoffrey Irving