Pi with Pi

Einleitung

...ja was hat er denn nun schon wieder vor?

Eigentlich wollte ich nur…

… in einem meiner vorigen Artikel, habe ich mich damit befasst, wie groß der Unterschied bei der Ausführungsgeschwindigkeit zwischen nativ kompillierten Anwendungen, gegenüber dem gleichen Code, ausgeführt mit Intermediate Language ist.

Dafür habe ich mich an der Näherung der Kreiszahl Pi nach Nilakantha bedient. Allerdings ist die „Ausbeute“ dieser Näherung ziemlich gering, da man trotz sehr vieler Iterationen, eine relativ hohe Ungenauigkeit im Ergebnis hat, bzw. man nie weiß, ist die Nachkommastelle korrekt oder nicht.

Verdeutlichen lässt sich das mit am ehesten, wenn man die Ergebnisse der ersten 50 Iterationen in einem Diagramm darstellt.

Man sieht deutlich die Näherungen gegen die exakte Kreiszahl Pi, weil der berechnete Wert entweder immer drüber oder unter der Kreiszahl schwingt. Dies bezeichnet man auch als ein oszillierendes asymptotisches Verhalten.

Wahnsinn, was es für Wörter gibt!

Und nun?

Nach ein wenig Recherche, kam ich relativ schnell zu dem Schluss, dass es einige Beispiele für die Näherung von Pi gibt, die jedoch alle das gleiche „schwingende“ Verhalten zeigen und niemals Pi exakt errechnen.

  • Leibnitz-Reihe – Die Leibniz-Reihe für π ist eine der bekanntesten und einfachsten Reihen zur Berechnung von π. Sie konvergiert jedoch sehr langsam.
  • Gregory-Reihe – ist ähnlich wie die Leibniz-Reihe und ebenfalls langsam konvergierend.
  • Machin-ähnliche Formeln – verwenden Arkustangens-Funktionen und konvergieren schneller als die Leibniz- und Gregory-Reihen, aber zeigen immer noch oszillierendes Verhalten in ihren Berechnungen.
  • Eulers Formeln – Leonhard Euler hat mehrere Serien entwickelt, die zur Berechnung von π verwendet werden können
  • Viete’s Formel – Eine der ältesten bekannten Formeln zur Berechnung von π wurde von François Viète entwickelt

Wir spielen mit den großen Jungs!

Tja und jetzt geht die Reise los.

Es geht im Groben um die verteilte Berechnung der Kreiszahl Pi. Im Endausbau dieses Artikels mit 2.147.483.647 Nachkommastellen. Wenn das scheitert, dann hoffentlich nur mangels Speicherplatz auf SSD. Denn wir werden hier mit gewaltigen Datenmengen rum hantieren! Dann eben weniger Nachkommastellen.

Jetzt höre ich schon wieder…

… wozu macht der das?

… gibt´s schon!

Nuja, erstens:

… reine Neugier und die Erkenntnis mit coolen Technologien etwas praktisches geschaffen zu haben. Wem Pi nicht gefällt, wird nach der Lektüre des Artikels feststellen, dass man das auf jeden Furz und Feuerstein anwenden kann. Vielleicht die Eulersche Zahl! 😉

… zweitens, klar gibts das schon und wahrscheinlich sogar noch viel bunter und mit Einhornpipi und Chakra-Kristallen beschworen. Aber verteilte Berechnung ist auch ganz nett.

Im Grunde genommen geht es darum, auf möglichst effiziente Weise die Kreiszahl Pi zu berechnen und zwar ohne mit einer immer vorhandenen Ungenauigkeit zu leben. Vielleicht interessiert sich ja jemand für mathematische Konvergenz, Zahlentheorie und hypergeometrischen Reihen.

Ich finde alleine die Worte geil und maße mir nicht mal im Ansatz an zu verstehen wie das genau funktioniert oder wer in Dreiteufelsnamen auf die Idee kommt sich mit sowas zu befassen. Daher: Mein allergrößter Respekt für die Leute, die das erfinden!

Dieser Artikel wird recht umfangreich, behandelt aber viele lustige Dinge wie beispielsweise