Stap 9: Het implementeren van de oneindige reeks van arctan in Python
Ik heb geschreven een Python 3-programma uit te voeren van de oneindige reeks methode beschreven in de vorige stap. Ik noemde dit programma ArctanPyPi.py.
Als u de programmacode uitvoert vindt u dat er zijn verschillende problemen met de algoritme:
- De fractie vertegenwoordigen π groeit zeer snel, op een iteratie is de breuk 8/3 maar bij tien herhalingen het 47028692/14549535 is dus dit algoritme kan niet worden gebruikt om te vinden van een leuke fractionele benadering van π.
- Het algoritme lijkt te lang duren om bij benadering π. Bij een iteratie is de onderlinge aanpassing 2.667, die niet zelfs juist 1 cijfer! Eigenlijk duurt 6 iteraties net te krijgen een onderlinge aanpassing die met 3 begint. Maar wat als we onze onderlinge aanpassing tot op 1 decimaal nauwkeurig? Nou blijkt dat bij tien herhalingen is onze onderlinge aanpassing 3.2 een nummer terecht een belangrijke figuur, met 100 benaderingen het 3.15 (juiste met twee significante cijfers), 1000 iteraties was 3.142 (juiste met drie significante cijfers). Dit betekent dat wij voor het berekenen van een π een extra belangrijke figuur moeten doen van tien keer meer iteraties. Dit betekent dat zelfs met een extreem snelle processor π aan een redelijke hoeveelheid decimalen berekening onredelijk lange binnenkort zou. Ik moest stoppen berekening van π op drie decimalen die duurde twee en een half Menuetten op mijn computer.
Zoals u zien kunt als we willen berekenen π aan een groot aantal decimalen dan moet we gonna moet een ander algoritme die convergeert veel sneller dan de twee algoritmen die we tot nu toe hebben gezien.