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)=∑k≥1cos⁡kxk2(2−cos⁡kx).
π

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) $


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)=cos⁡x2−cos⁡x
2π
g(x)=∑jwjeijx
wj=12π∫02πg(x)e−ijxdx
f(x)=∑k≥1g(kx)kp=∑k≥11kp∑jwjeijkx=∑jwj∑k≥1(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

Zakładam, że masz na myśli ? g(x)=cos⁡(x)/(2−cos⁡(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)=∑k≥1cos⁡kxk2(2−cos⁡kx)=∑k=1bcos⁡kx2−cos⁡kx∑n≥01(k+bn)2=∑k=1bcos⁡kx2−cos⁡kxψ1(k/b)b2
ψ1(z)Wartości i pochodne dla serii

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.