Die Mathe-Redaktion - 17.08.2017 23:18 - Registrieren/Login
Auswahl
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden oder den Newsletter bestellen.

Der Newsletter Apr. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 362 Gäste und 31 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von matroid
Mathematik » Numerik & Optimierung » Suche mehrere Wege für langsam konvergierende Summe
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule Suche mehrere Wege für langsam konvergierende Summe
hyperG
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 03.02.2017
Mitteilungen: 117
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2017-04-29 16:11


Gegeben:
unendliche Summe mit sehr langsamer Konvergenz:

fed-Code einblenden

Da WolframAlpha selbst mit 3000 internen Stellen je nach Eingabevariation
(mal feste Grenzen bis 1e1999; mal "more Digits" usw.)
Ergebnisse zwischen 0.886572782279 und 1.02726
liefert,
suche ich mehrere unabhängige Wege (eine Art Validierung um Fehler auszuschließen), um mindestens 30 Stellen genau zu werden.

Weg 1: Eulersche Summationsformel
(wegen meiner begrenzten Zeit...muss gleich weg... nur mit
Integral + (f(1)+f(n))/2 aber ohne Bernoulli-Summem-Teil...)
Das Integral ohne Faktor liefert -1/(log(n + 2)) also
[1/log(3)-1/log(n + 2)]+[1/((n+2)*log(n+ 2)²)+1/(3*log^2(3))]/2

lim [1/log(3)-1/log(n + 2)]+[1/((n+2)*log(n+ 2)²)+1/(3*log^2(3))]/2,n->inf
= (1 + log(729))/(6*log^2(3))=1.048328468241874567676822122420871229...
Faktor dazu:
2*log(2)²*(1 + log(729))/(6 log^2(3))=(log(2)² (1 + log(729)))/(3 log(3)²)
=1.0073451442861202837343443460734447464... + "Bernoulli-Rest"

Weg 2: Konvergenzbeschleunigung

Weg 3: hypergeometrische Funktion...

Weg 4...

Wer hat gerade genug Zeit oder kennt noch andere Algorithmen oder exaktes Ergebnis...



  Profil  Quote  Link auf diesen Beitrag Link
hyperG
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 03.02.2017
Mitteilungen: 117
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, vom Themenstarter, eingetragen 2017-04-29 22:28


Da kein Rechner mehr Terme als Atome im Weltall addieren kann,
haben schlaue Leute ( oeis.org/A115563 )
mit Weg 1 (Euler-Maclaurin-Formel )
über 140 Stellen berechnet:
2.1097428012368919744792571976165513263855319843947420226499156031928...
abzüglich des 1. Terms
1.0690583107340880755444663957490556138535084065717015068366363843697...
und mit Faktor 1/(2*log(2)²) ergibt das
1.0272645748929874433419123030049195076677379960452900858672456144239...
genau die 5 Nachkommastellen, die WolframAlpha auch anzeigt.

Würde mich interessieren, ob doch noch andere Wege gefunden werden??

Unter arxiv.org/abs/0902.0789
findet man auf PDF-Seiten 6 & 7 unter Formeln (25) bis (27)
was...



  Profil  Quote  Link auf diesen Beitrag Link
Kay_S
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 06.03.2007
Mitteilungen: 1284
Aus: Koblenz (früher: Berlin)
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2017-04-30 12:22


Hier hilft z.B. eine Konvergenzbeschleunigung durch Restgliednäherung. Letztere kann man u.a. durch Integration erhalten.

Ansatz: Ist <math>f(x)</math> diffbar und monoton fallend, so gilt
<math>\sum_{n=1}^\infty f(n) \approx \sum_{n=1}^k f(n) + \int_{k+\frac{1}{2}}^\infty f(x) dx =: g(k)</math>,
wobei <math>g(k)</math> i.A. schneller konvergiert als <math>\sum_{n=1}^k f(n)</math>.

Damit bekommt man hier
<math>\sum_{n=1}^\infty \frac{1}{(n+2)\ln(n+2)^2} \approx \sum_{n=1}^k \frac{1}{(n+2)\ln(n+2)^2} + \frac{1}{\ln(k+\frac{5}{2})}</math>.
Bereits für <math>k=1000</math> bekomme ich relativ stabil die ersten 6 Ziffern.

Kay



  Profil  Quote  Link auf diesen Beitrag Link
hyperG
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 03.02.2017
Mitteilungen: 117
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, vom Themenstarter, eingetragen 2017-05-02 18:10


Danke Kay, das ist Weg 2. Aber immer noch viel zu langsame Konvergenz.

Ich habe nun auch den Weg der PDF mit Formeln (25) bis (27)
probiert. Zunächst sah es gut aus, da pro Iteration der 2. Summe
wegen 1/(4^x*(2x+1)!) 9 neue Stellen hinzukommen.
ABER die einzelnen Terme sind (durch Ableitung) wieder langsam konvergierende Summen! 100000 Therme mit je über 20000 Nachkommastellen ergeben nicht mal 12 feste Nachkommastellen.

Man dreht sich im Kreis und der Rechenaufwand ab 30 Nachkommastellen wächst exponentiell!

Ich will aber über 200 Stellen berechnen...

Der Mathematica-Weg:
Mathematica
digits = 150; NSum[1/(n*Log[n]^2), {n, 2, Infinity}, NSumTerms -> 200000,
 WorkingPrecision -> digits + 5, Method -> {"EulerMaclaurin", Method -> {"NIntegrate", "MaxRecursion" -> 20}}]

per EulerMaclaurin-Formel mit 200000 Termen ergibt gerade mal 150 Stellen. (laut LINK; ich habe kein Mathematica)

Hat jemand die Bücher, die laut PDF näheres zur Summe aussagen:
(2.) John V. Baxley, Euler’s constant, Taylor’s formula, and slowly converging series, Math. Mag.
65 (1992), no. 5, 302–313. MR 1191273 (93j:40001)

(3.) Bart Braden, Calculating sums of infinite series, Am. Math. Monthly 99 (1992), no. 7, 649–655.
MR 1176591 (93f:40002)

(6.) Rick Kreminski, Using Simpson’s rule to approximate sums of infinite series, College Math.
J. 28 (1997), no. 5, 368–376. MR 1478271

??

Oder andere Wege?



  Profil  Quote  Link auf diesen Beitrag Link
MontyPythagoras
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 13.05.2014
Mitteilungen: 943
Aus: Hattingen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, eingetragen 2017-05-05 19:47


Hallo hyperG,
na, die 200 gewünschten Stellen schaffen wir doch ganz easy.
Das Problem liegt ja darin, ab einem bestimmten Summenglied die Restsumme abzuschätzen. Ich würde daher ähnlich wie Kay die Summe zerlegen:

<math>\displaystyle \sum_{k=3}^{\infty}\frac1{k\ln^2k}=\sum_{k=3}^{n-1}\frac1{k\ln^2k}+\sum_{k=n}^{\infty}\frac1{k\ln^2k}</math>

Die endliche Teilsumme von k=3 bis n-1 ist für den Rechner nur Fleißarbeit, wir konzentrieren uns auf die Restsumme

<math>\displaystyle S(n)=\sum_{k=n}^{\infty}\frac1{k\ln^2k}</math>

Bei großem n ist das dem Integrieren nicht unähnlich:

<math>\displaystyle S(n)\approx\int_{n}^{\infty}\frac1{x\ln^2x}\text dx=\left[-\frac1{\ln x}\right]_n^{\infty}=\frac1{\ln n}</math>

Die Idee ist nun, die Abweichung von diesem Näherungswert durch eine Reihenentwicklung genauer zu bestimmen. Wir definieren:

<math>\displaystyle f(x)=-\frac1{\ln x}</math>

<math>\displaystyle f'(x)=\frac1{x\ln^2x}</math>

Und wir wählen den Ansatz:

<math>\displaystyle S(n)=\sum_{k=n}^{\infty}f'(k)=\sum_{l=0}^{\infty}a_lf^{(l)}(n)</math>

Auf der linken Seite haben wir die extrem langsam konvergierende Reihe, auf der rechten Seite eine Reihe, die ähnlich einer Taylorreihe die immer höheren Ableitungen der Funktion f(x), gewichtet mit einem Koeffizienten <math>a_l</math>, summiert. Man kann relativ leicht zeigen, dass die höheren Ableitungen von diesem f bei großen Funktionsargumenten sehr schnell gegen null gehen, und auch die Koeffizienten <math>a_l</math> haben sehr schöne Eigenschaften. Dazu weiter unten mehr.
Offensichtlich gilt:

<math>\displaystyle f'(n)=-\sum_{k=n+1}^{\infty}f'(k)+\sum_{k=n}^{\infty}f'(k)</math>

<math>\displaystyle f'(n)=-\sum_{l=0}^{\infty}a_l\left[f^{(l)}(n+1)-f^{(l)}(n)\right]</math>

Die Ableitungen an der Stelle <math>x=n+1</math> ersetzen wir nun durch eine Taylorreihe an der Entwicklungsstelle <math>x=n</math>:

<math>\displaystyle f'(n)=-\sum_{l=0}^{\infty}a_l\left[\sum_{k=0}^{\infty}\frac{f^{(k+l)}(n)}{k!}(n+1-n)^k-f^{(l)}(n)\right]</math>

<math>\displaystyle f'(n)=-\sum_{l=0}^{\infty}a_l\left[\sum_{k=0}^{\infty}\frac{f^{(k+l)}(n)}{k!}-f^{(l)}(n)\right]</math>

<math>\displaystyle f'(n)=-\sum_{l=0}^{\infty}a_l\left[\sum_{k=1}^{\infty}\frac{f^{(k+l)}(n)}{k!}\right]</math>

<math>\displaystyle f'(n)=-\sum_{l=0}^{\infty}\sum_{k=1}^{\infty}\frac{a_l}{k!}f^{(k+l)}(n)</math>

Jetzt wird es ein bisschen tricky. Entweder durch passende Indexsubstitution oder durch Aufschreiben und Umsortieren folgt:

<math>\displaystyle f'(n)=-\sum_{m=1}^{\infty}\sum_{k=1}^m\frac{a_{m-k}}{k!}f^{(m)}(n)</math>

<math>\displaystyle f'(n)=-\sum_{m=1}^{\infty}\left[f^{(m)}(n)\sum_{k=1}^m\frac{a_{m-k}}{k!}\right]=-f'(n)\cdot \frac{a_0}{1!}-\sum_{m=2}^{\infty}\left[f^{(m)}(n)\sum_{k=1}^m\frac{a_{m-k}}{k!}\right]</math>

Daraus folgt:

<math>\displaystyle a_0=-1</math>

Und die Summe am Ende muss null sein, so dass für alle m>1 folgt:

<math>\displaystyle \sum_{k=1}^m\frac{a_{m-k}}{k!}=0</math>

<math>\displaystyle a_{m-1}+\sum_{k=2}^m\frac{a_{m-k}}{k!}=0</math>

<math>\displaystyle a_{m-1}=-\sum_{k=2}^m\frac{a_{m-k}}{k!}</math>

Und nun den Index anpassen (umgekehrte Sortierung):

<math>\displaystyle a_{l}=-\sum_{k=0}^{l-1}\frac{a_k}{(l+1-k)!}</math>

Wir haben nun eine ziemlich einfache, rekursive Definition für die Koeffizienten <math>a_l</math>. Dabei stellt sich erstaunlicherweise heraus, dass mit Ausnahme von <math>a_1</math> alle ungeraden Koeffizienten null sind, und die geraden Koeffizienten sind alternierend und schnell fallend. Nachfolgend die ersten paar Koeffizienten:

<math>\displaystyle a_0=-1\quad a_1=\frac12\quad a_2=-\frac1{12}\quad a_4=\frac1{720}\quad a_6=-\frac1{30240}\quad a_8=\frac1{1209600}\quad a_{10}=-\frac1{47900160}
\\\\a_3=a_5=a_7=...=0</math>

Mit dem Wissen, dass die ungeraden Koeffizienten null sind, kann man noch die rekursive Berechnung der Koeffizienten abkürzen:

<math>\displaystyle a_{2l}=-\frac1{2\cdot(2l)!}-\sum_{k=0}^{l-1}\frac{a_{2k}}{(2l+1-2k)!}</math>

Damit haben wir ein allgemeingültiges Verfahren, mit dem man langsam konvergierende Reihen berechnen kann, solange die Funktion, die summiert wird, integrierbar ist!

Zurück zum aktuellen Beispiel. Die Funktion und ihre Ableitungen lauten ja

<math>\displaystyle f(x)=-\frac1{\ln x}</math>

<math>\displaystyle f'(x)=\frac1{x\ln^2x}</math>

<math>\displaystyle f''(x)=-\frac1{x^2\ln^2x}-\frac2{x^2\ln^3x}</math>

<math>\displaystyle f'''(x)=\frac2{x^3\ln^2x}+\frac2{x^3\ln^3x}+\frac4{x^3\ln^3x}+\frac6{x^3\ln^4x}</math>

<math>\displaystyle f'''(x)=\frac2{x^3\ln^2x}+\frac6{x^3\ln^3x}+\frac6{x^3\ln^4x}</math>

Es kristallisiert sich ein Muster heraus, und zwar:

<math>\displaystyle f^{(l)}(x)=\sum_{k=0}^{l-1}\frac{(-1)^{l-1}\cdot b_{l,k}}{x^l\ln^{k+2}x}</math>

<math>\displaystyle f^{(l+1)}(x)=\sum_{k=0}^{l-1}(-1)^{l-1}\cdot b_{l,k}\left(\frac{-l}{x^{l+1}\ln^{k+2}x}+\frac{-(k+2)}{x^{l+1}\ln^{k+3}x}\right)</math>

<math>\displaystyle f^{(l+1)}(x)=\sum_{k=0}^{l-1}\frac{(-1)^l\; l\; b_{l,k}}{x^{l+1}\ln^{k+2}x}+\sum_{k=0}^{l-1}\frac{(-1)^l(k+2) b_{l,k}}{x^{l+1}\ln^{k+3}x}</math>

Indexverschiebung in der rechten Summe:

<math>\displaystyle f^{(l+1)}(x)=\sum_{k=0}^{l-1}\frac{(-1)^l\; l\; b_{l,k}}{x^{l+1}\ln^{k+2}x}+\sum_{k=1}^{l}\frac{(-1)^l(k+1) b_{l,k-1}}{x^{l+1}\ln^{k+2}x}</math>

Wenn <math>b_{l,l}=b_{l,-1}=0</math>, können wir die Summen zusammenfassen:

<math>\displaystyle f^{(l+1)}(x)=\sum_{k=0}^{l}\frac{(-1)^l\left( l\; b_{l,k}+(k+1) b_{l,k-1}\right)}{x^{l+1}\ln^{k+2}x}</math>

<math>\displaystyle f^{(l+1)}(x)=\sum_{k=0}^{l}\frac{(-1)^lb_{l+1,k}}{x^{l+1}\ln^{k+2}x}</math>

Also haben wir rekursiv definiert:

<math>\displaystyle b_{1,0}=1</math>

<math>\displaystyle b_{l+1,k}=l\;b_{l,k}+(k+1)b_{l,k-1}</math>

Das ergibt folgende kleine Tabelle:



Wenn wir das ganze jetzt zusammenführen, haben wir:

<math>\displaystyle \sum_{k=n}^{\infty}\frac1{k\ln^2k}=\frac{1}{\ln n}+\frac{1}{2n\ln^2 n}+\frac1{12n^2}\left(\frac{1}{\ln^2 n}+\frac{2}{\ln^3 n}\right)+\frac1{720n^4}\left(\frac{6}{\ln^2 n}+\frac{22}{\ln^3 n}+\frac{36}{\ln^4 n}+\frac{24}{\ln^5 n}\right)+...</math>

Für Handarbeit nicht gerade zu empfehlen, aber für einen Computer ein Kinderspiel. Nehmen wir beispielsweise n=10000, dann ist der erste Summand

<math>\displaystyle \frac{1}{\ln10000}\approx0,10857</math>

Der siebte Summand (<math>l=10</math>) ist dagegen schon

<math>\displaystyle 1,71343\times10^{-44}</math>

und damit ungefähr <math>6\times10^{42}</math> mal kleiner als die Summe selbst. Du solltest also bei n=10000 schon nach dem siebten Summanden die ersten 40 Stellen sicher haben.

Ciao,

Thomas



  Profil  Quote  Link auf diesen Beitrag Link
hyperG
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 03.02.2017
Mitteilungen: 117
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, vom Themenstarter, eingetragen 2017-05-19 23:17


Hallo MontyPythagoras,

Referenz A115563 beginnt mit n=2
=2.1097428012368919744792571976165513263855319843947420226499156031928146949391368741771692913771862

feste Vor-Summe:
Sum1=sum 1/(k*log(k)²),k=2...10000
=2.00116977016067550144589517133763957154219340136055896787041472238950372678296791258096184786917555; Wolfram & Pari identisch
nun Deine Terme dazu:
=2.1097428012368919745082036858075533885720127711153940 bei term=5 (Dein l=10) schon zu groß? 18 oder 51 richtige Nachkomma?
=2.10974280123689197450820368580755338857201277111539460184350 term=6:  
 58 richtige NK bezügl. Algor.?
=2.1097428012368919745082036858075533885720127711153946018435269355863 term=7: 65 richtige NK bezügl. Algor.
=2.10974280123689197450820368580755338857201277111539460184352693558751222484292571377027 term 8 1.1E-66
also etwa 7 Nachkommastellen pro äußerem Term (intern ist aber auch eine Summe).

zur Validierung feste Summe bis 80000
nun sum 1/(k*log(k)²),k=2...80000
=2.021167180020167829273845330001180220659937763080352386009937644850866769631896458233214258 WolframAlpha (max 4000 Stellen)
=2.0211671800201678292738453300011802206599377630803523860099376448508667711580916422537207381492493726328869326 PariGP mit 12000 Stellen
also stimmen mindestens 70 Stellen
Terme dazu:
=2.109742801236891974479261585762181506378432727127442296822122409  term 5 (Dein l=10): 22 (Ref.) oder 61 richtige NK Algor.
=2.1097428012368919744792615857621815063784327271274422968221224141307729641 term 6:  71 richtige laut Algor.
=2.1097428012368919744792615857621815063784327271274422968221224141307729669150506039760785 term 7
also etwa pro äußerem Term 10 NK hinzu.

ABER hier stimmen mehrere Dinge nicht:
1. egal ob Vorsumme 1e4 oder 8e4 -> Gesamtsumme wird zu groß
2. selbst wenn Referenz nicht stimmen sollte, darf es zwischen Vorsumme 1e4 und 8e4
 ab der 18. Nachkommastelle keine Unterschiede geben!

Hinweis:
Bei der Umsetzung habe ich die Faktoren mit Deinen verglichen und auch die Teil-Unter-Summe bei Term5 (l=10) ist bei mir auch
1.7116724283940508714396955473586499599222e-44
Die Faktoren in der Untersumme lassen sich leichter mit der Stirling-Funktion 1. Ordnung berechnen:
p=80001;ln=log(p);
s1=2.021167180020167829273845330001180220659937763080352386009937644850866771158091642253720738149249;
s1=s1+1/ln+1/(2*p*ln*ln);
for(term=1,maxTerme,ende=term*2;s=sum(X=1,ende, abs(stirling(ende,X,1))*X!/ln^(X+1))/aA[term]/p^ende;s1=s1+s);

Kann es sein, dass Vorzeichen fehlen oder Teilsummen doch nicht alle 0 sind oder Summen-Zusammenfassung...?

Grüße hyperG



  Profil  Quote  Link auf diesen Beitrag Link
hyperG
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 03.02.2017
Mitteilungen: 117
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2017-05-19 23:32


Ist der Faktor fed-Code einblenden
der als einziger ungerade ist,
vergessen oder negativ?



  Profil  Quote  Link auf diesen Beitrag Link
hyperG
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 03.02.2017
Mitteilungen: 117
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, vom Themenstarter, eingetragen 2017-05-21 19:44


Hab's jetzt mit Weg 1 inclusive Bernoulli-Faktoren berechnet:

sum_i=m...inf 1/(i*ln(i)²)=[1/ln(m)]+1/(m*ln(m)²)/2
- sum_j=1...inf Bernoulli(2j)/(2j)!*f^(2j-1)(m)

da ich die ersten 80000 festen Summanden ja schon mit 12000 Stellen berechnet hatte,
ist m=80001.

mit der n. Ableitung
d^n/dx^n 1/(x*ln(x)²)
=[x^(-n-1)*n! sum_j=0...n (-1)^j log^(-j)(x)*Pochhammer(2,j)* sum_(k=0)^(n-j) ((-1)^k StirlingS1(n-k)^(j))/((n-k)!)]/(log(x)^2)

wird f^(2j-1)(m) zu
[(2j-1)!/m^(2j)* sum_p=0...2j-1 (-1)^p*Pochhammer(2,p)/log(m)^p* sum_(k=0)^((2j-1)-p) ((-1)^k* StirlingS1(2j-1-k,p))/((2j-1-k)!)]/(log(m)^2)

term=2:
2.10974280123689197447925719761655114759528; 33 richtige mit A115563
term=3:
2.10974280123689197447925719761655132638553201571383 41 richtige
term=4:
2.1097428012368919744792571976165513263855319843947420132 52 richtige
term=5:
2.1097428012368919744792571976165513263855319843947420226;62 richtige

Regression: mit x termen bekommt man etwa 9.554054054*x + 13.47297297 richtige Stellen

Bei 30 termen hatte ich dann fast 300 richtige Nachkommastellen.

Was hier so "easy" klingt, sind pro Term 3 ineinander verschachtelte Summen! Zwar kürzt sich Pochhammer zu Fakultät, aber StirlingS1 ist genau genommen eine weitere Summe.

WolframAlpha kann die 80000 festen Summanden nur mit 3000 Stellen intern berechnen, was nur 70 richtige Nachkommastellen bedeutet!!!

Pari-GP ist da sehr viel genauer und schneller und kennt Barnoulli und StirlingS1!

Die 30 3-Fach-Summen-Terme schafft pari-gp in unter 1 Sekunde.



  Profil  Quote  Link auf diesen Beitrag Link
MontyPythagoras
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 13.05.2014
Mitteilungen: 943
Aus: Hattingen
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, eingetragen 2017-05-22 12:54


Hallo hyperG,
jetzt muss ich ein bisschen aufholen. smile
Das mit dem "ganz easy" ist natürlich immer mit einem Augenzwinkern, auch wenn da kein Smiley stand...
Die Koeffizienten <math>a_l</math> sind tatsächlich nichts anderes als die Bernoulli-Zahlen, und das Verfahren entspricht dem Euler-Maclaurin-Verfahren.
Zu Deinem Beitrag #6: <math>a_1=\frac12</math> habe ich nicht als rekursive Formel angegeben. Die anderen geraden Koeffizienten sind alternierend, und die Ableitungen auch - allerdings habe ich übersehen, dass die Ableitungen dadurch, dass ich ja nur jede zweite Ableitung brauche, eben gerade nicht alternieren. Dadurch habe ich einen Vorzeichenfehler in meiner Summe. Die korrekte Darstellung muss lauten:

<math>\displaystyle \sum_{k=n}^{\infty}\frac1{k\ln^2k}=\frac{1}{\ln n}+\frac{1}{2n\ln^2 n}+\frac1{12n^2}\left(\frac{1}{\ln^2 n}+\frac{2}{\ln^3 n}\right)-\frac1{720n^4}\left(\frac{6}{\ln^2 n}+\frac{22}{\ln^3 n}+\frac{36}{\ln^4 n}+\frac{24}{\ln^5 n}\right)+...</math>

Aber ich denke, das hast Du auch herausgefunden.
Möglicherweise ist der richtige Weg gar nicht der, das n möglichst hoch zu setzen, wenn schon die ersten n-1 Summanden rundungsfehlerbehaftet sind. Wenn das Euler-Maclaurin-Verfahren nur relativ "wenige" Summanden braucht, um die Restsumme abzuschätzen, fährt man unter dem Strich vielleicht besser, die "Vorsumme" nur bis n=1000 zu berechnen.

Ciao,

Thomas



  Profil  Quote  Link auf diesen Beitrag Link
hyperG
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 03.02.2017
Mitteilungen: 117
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, vom Themenstarter, eingetragen 2017-05-22 18:10


Ja genau, dort fehlte das alternierende Vorzeichen. Ich hatte zwar auch testweise das abs herausgenommen
aA[term]=1/abs(Rekursionssumme[term+1]) aber die Negation dieses Wechsels nicht beachtet. Mit
aA[term]=-1/(Rekursionssumme[term+1]) sind beide Algorithmen nun identisch.

Noch einige Ergebnisse mit Vorsumme 1000 (statt 80000):
Hier bekommt man nicht mal 5 Nachkommastellen pro Term (bei 80000 waren es etwa 10).
Statt 30 Terme sind also 63 nötig. Da 1 Term eine 3-fach-verschachtelte Summe ist, wächst Rechenzeit exponentiell!
Da Dein Algorithmus besser in 2 Summen (+ 2 Arrays) und meiner in 3 Summen verpackt ist,
wächst meine Rechenzeit leider schneller (27 s statt nicht ganz 2s bei Dir bei internen 600 Stellen).

Ist aber schon mal eine gute Validierung der Nachkommastellen.

Danke für Deine Mühe!

Grüße Gerd



  Profil  Quote  Link auf diesen Beitrag Link
hyperG hat die Antworten auf ihre/seine Frage gesehen.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2017 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]