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
BearbeitenHeegner-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
Bearbeitenkann 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- ↑ David Chudnovsky, Gregory Chudnovsky: Approximation and complex multiplication according to Ramanujan. In: Ramanujan revisited: proceedings of the centenary conference. 1988.
- ↑ FH Graubünden: Algorithmus, Informationen über die Weltrekordberechnung 2021, abgerufen am 26. März 2022
- ↑ 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.
- ↑ Nayandeep Deka Baruah, Bruce Berndt, Heng Huat Chan: Ramanujan’s series for : A survey. Mathematics Student, S. 576.
- ↑ 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.
- ↑ Lorenz Milla: Ein ausführlicher Beweis der Chudnovsky-Formel mit elementarer Funktionentheorie. 2018, arxiv:1809.00533.
- ↑ Cleve Moler: Computing π. (PDF) In: mathworks. 2011, archiviert vom (nicht mehr online verfügbar) am 4. März 2018; abgerufen am 3. März 2018.