Chudnovsky-Algorithmus

Schnelle Berechnung der Nachkommastellen der Kreiszahl π
Dies ist die gesichtete Version, die am 23. November 2024 markiert wurde. Es existiert 1 ausstehende Änderung, die noch gesichtet werden muss.

Der Chudnovsky-Algorithmus ist eine von den Chudnovsky-Brüdern im Jahre 1988[1] entwickelte iterative Methode zur Berechnung beliebig vieler Nachkommastellen der Kreiszahl π. Jede Iteration liefert durchschnittlich 14,81 weitere Dezimalstellen.[2] Der Algorithmus basiert auf der Konvergenz einer verallgemeinerten hypergeometrischen Reihe:[3]

Dieser Algorithmus wurde seitdem für die meisten Weltrekordberechnungen eingesetzt, siehe Rekorde der Berechnung von π.

Entwicklung

Bearbeiten

Heegner-Punkte können dabei helfen, sehr schnell konvergente Reihen zu finden, die gegen die Kreiszahl   konvergieren. Vorläufer solcher Reihentypen waren schon von Srinivasa Ramanujan zu Beginn des 20. Jahrhunderts entdeckt worden. Die Brüder David und Gregory Chudnovsky nutzten schließlich die Punkte   mit natürlichen Zahlen  , um die Arbeiten von Ramanujan weiterzuführen. Dabei fanden sie eine für die j-Funktion   und all diese Heegner-Punkte gültige Reihenidentität

 

die den durch Eisensteinreihen definierten Term

 

beinhaltet.[4] Dabei bezeichnet   die Fakultät von  . Daraus konnte nach Einsetzen des Heegner-Punkts   der Chudnovsky-Algorithmus entwickelt werden, mit Hilfe dessen die Kreiszahl   extrem schnell auf viele Nachkommastellen berechnet werden kann. Er nutzt aus, dass der Wert   ganzzahlig ist. Über die Methoden, wie man   allgemein berechnet, kann man bereits diese und weitere Kuriositäten beobachten. Man weiß wegen der Fourier-Entwicklung  , dass für Werte   mit größerem Imaginärteil die Zahl   bereits sehr nahe an   liegt. In der Tat findet man[5]

 

Ein ausführlicher Beweis dieser Formel findet sich hier:[6]

Diese ist ähnlich der Ramanujan-Formel zur Ermittlung von π[3] und ist ein Beispiel der Ramanujan-Sato-Reihen.

Implementierung des Algorithmus

Bearbeiten

  kann mit beliebiger Genauigkeit durch Implementierung des oben genannten Algorithmus in eine dafür geeignete Programmierungsumgebung berechnet werden. Im Folgenden ein Beispiel mit MATLAB:[7]

function P = chud_pi(d)
% CHUD_PI Chudnovsky algorithm for pi.
% chud_pi(d) produces d decimal digits.

k = sym(0);
s = sym(0);
sig = sym(1);
n = ceil(d/14);
for j = 1:n
  s = s + sig * prod(3*k+1:6*k)/prod(1:k)^3 * ...
    (13591409+545140134*k) / 640320^(3*k+3/2);
  k = k+1;
  sig = -sig;
end
S = 1/(12*s);
P = vpa(S,d);

Einzelnachweise

Bearbeiten
  1. David Chudnovsky, Gregory Chudnovsky: Approximation and complex multiplication according to Ramanujan. In: Ramanujan revisited: proceedings of the centenary conference. 1988.
  2. FH Graubünden: Algorithmus, Informationen über die Weltrekordberechnung 2021, abgerufen am 26. März 2022
  3. a b Nayandeep Deka Baruah, Bruce C. Berndt, Heng Huat Chan: Ramanujan’s series for 1/π: a survey. In: American Mathematical Monthly. Band 116, Nr. 7, 2009, S. 567–587, doi:10.4169/193009709X458555, JSTOR:40391165.
  4. Nayandeep Deka Baruah, Bruce Berndt, Heng Huat Chan: Ramanujan’s series for  : A survey. Mathematics Student, S. 576.
  5. Jan Hendrik Bruinier, Gerard van der Geer, Günter Harder, Don Zagier: The 1-2-3 of Modular Forms. Lectures at a Summer School in Nordfjordeid, Norway, Springer-Verlag, Berlin/Heidelberg, S. 73.
  6. Lorenz Milla: Ein ausführlicher Beweis der Chudnovsky-Formel mit elementarer Funktionentheorie. 2018, arxiv:1809.00533.
  7. Cleve Moler: Computing π. (PDF) In: mathworks. 2011, archiviert vom Original (nicht mehr online verfügbar) am 4. März 2018; abgerufen am 3. März 2018.