Anteprima
Vedrai una selezione di 4 pagine su 15
Sul calcolo di pi greco e del numero di Nepero Pag. 1 Sul calcolo di pi greco e del numero di Nepero Pag. 2
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Sul calcolo di pi greco e del numero di Nepero Pag. 6
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Sul calcolo di pi greco e del numero di Nepero Pag. 11
1 su 15
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

G

10

multipla con Base con G da scegliersi tra i valori o 5 o 6 o 7 , col vantaggio oltre a quello di

ottenere risultati sempre esatti, di accelerarne l’esecuzione, sfruttando naturalmente per i calcoli

aritmetici elementari l’aritmetica a doppia precisione disponibile sul PC nel software del linguaggio

evoluto adoperato, nel presente caso il Qbasic. All’articolo sono allegati i listati dei programmi uno

π,

relativo a l’altro al numero di Eulero, ed anche alcuni risultati ottenuti con il loro utilizzo,

riportanti l’insieme di tutti i decimali esatti desiderati per ciascuno dei due numeri in questione con

il necessario tempo di calcolo . π

Abstract: In the history of mathematics the computation has at all times interested the man and

has incited him towards the pursuit in the search of larger decimal places of this transcendental

[1] ,[2]

number . That’s enough to go into the web Internet (for ex ) and we notice the interest of this

π

important number. In several websites the value is displayed with a big decimal places set , but

without explaining how this set has been found; in the others are showed several formulas

π

concerning the theoretical value. But it is hard to find an exhaustive processing pertinent to an

efficient algorithm for its computation with the wanted decimal places and a description of the

problems related to its implementation. e[3].

We can do similar considerations for another important number, the Euler number

For their history and about their theoretical subjects we refer to the end of this paper.

In this paper we explain instead for each number an algorithm concerning the exact computation of

(

the all wanted decimal places several tens or some hundreds and even 50000 places) and we

expound the problems arising for its achievement.

We underline that in the programs for the fulfilment of algorithms is absolutely necessary the

G

10

employment of a Radix multiple-precision arithmetic ( G = 5, or 6 or 7 ).

We obtain in this way ever-precise results and we also quicken their performance, using naturally the

double - precision arithmetic, available on PC with Qbasic language.

We report also, as enclosures, two programs in Qbasic language and, by using these programs, some

results highlighting their computation time. 2

CALCOLO di π π [4] sotto forma di serie, cioè come somma

Sono note molte formule che danno il valore di

algebrica di un numero infinito di termini di valore sempre più piccolo, ciascun termine essendo

A

espresso da un numero razionale del tipo con A e B numeri interi.

B

Una serie adatta al nostro scopo deve presentare un rapido grado di convergenza, il che significa che

π con il numero di cifre

con il minor numero di termini della serie si deve trovare il valore di

decimali esatte richieste. π tramite la funzione

Vi sono numerose formule (vedi sempre [4]) con le quali si può calcolare

arctan.

Una delle più efficienti formule è quella nota come serie di Machin. Tale serie scoperta appunto da

Machin nel lontano1706 è la seguente [1],[5]:

π  

  1

1

= −

⋅  

  arctan (1)

4 arctan

4 239

5  

 .

π

usata da diversi matematici prima dell’avvento dei calcolatori per il calcolo delle cifre di

Questa serie è stata anche utilizzata con successo con l’ausilio del calcolatore soprattutto nei primi

anni dell’era computerizzata ( vedi ad esempio il suo impiego sull’ENIAC nel 1949 [6] ; sul NORC

nel 1955 [7] ; sull’ IBM 704 [8] ), perché si presenta di relativa facile programmazione.

Anche qui useremo questa serie come base per la realizzazione di un programma di calcolo adatto al

nostro scopo.

Se si sviluppa la (1) si ha: 16 16

16 16 16 16 16 16 + −

− + − + − + ……… .

π = +………….

− ⋅ ⋅

k 1 k

⋅ ⋅ ⋅ ⋅ ⋅ ( 1

) 5 5

k k

3 5 7 9 11

5 3 5 5 5 7 5 9 5 11 5 4 4

4 4 4 4 − +

− + − + –

+………………. …………

− ⋅ ⋅

k 1 k

⋅ ⋅ ⋅ ( 1

) 239 239

k k

3 5 7

239 3 239 5 239 7 239

k

con

che si può scrivere in forma compatta come segue:

 

∞ 16 4

∑  

− −

k

( 1

) (2)

π =  

⋅ + ⋅ +

⋅ + ⋅ ⋅ + ⋅

2 k 1 2 k 1

( 2 k 1

) 5 ( 2 k 1

) 239

 

=

k 0

Manipolando un po’ la formula la si può porre sotto la forma seguente:

16 4

( ) ( )

5 239

∞ 2 k 2 k

  ( 5 ) ( 239 )

16 4 ∑ − ⋅

− + k

  ( 1

) (3)

π = ⋅ +

2 k 1

5 239

  =

k 1

Naturalmente in un calcolo effettivo i termini della serie devono essere considerati in numero finito,

π si vogliono ottenere. Nella formula

dipendente questo numero da quante cifre decimali esatte di

occorre sostituire quindi il segno di infinito con un numero ben definito, di valore FS il meno elevato

possibile, compatibilmente con tutte le cifre esatte che si vogliono ottenere. Pertanto utilizzando

sempre la formula (3) si ha: 3

16 4

( ) ( )

5 239

2 2

k k

  FS ( 5 ) ( 239 )

16 4 ∑ − ⋅

− + k

  ( 1

)

π = (4)

⋅ +

2 k 1

5 239

  =

1

k

formula che si presta abbastanza facilmente per la realizzazione di un algoritmo di tipo iterativo da

G

10 con

sviluppare e trattare con operazioni aritmetiche non in Base 10 ma in una base più elevata

l’esponente G >1 da scegliersi opportunamente tra i valori 5, 6 ,7 per accelerarne l’esecuzione. Dalla

formula indicata si può osservare che vengono implicate tutte quante le quattro operazioni aritmetiche

elementari, operazioni queste che verranno eseguite con l’aritmetica a doppia precisione disponibile.

Nei riguardi dell’operazione di divisione, si vuole precisare che per essa, pur utilizzando una

aritmetica a precisione multipla, non si presentano in questo caso particolari difficoltà di

programmazione, purché si mantengano adeguatamente piccoli tutti i valori numerici dei vari divisori.

G

10 2 .

E ciò lo si può avere sino ad un valore k = 2

Per rispettare l’obiettivo di calcolare tutte la cifre esatte richieste e nel tempo più breve possibile si

dovrà realizzare un programma che persegua i seguenti obiettivi: π

individuare il minimo numero FS di termini della serie in grado di determinare il valore di

1) con tutte e sole le cifre decimali esatte richieste. Si può in effetti dimostrare(vedi il riquadro)

 

+ −

N log 16 log 5 + 1

che è sufficiente un numero di termini pari a FS = , riguardanti

 

 

2 log 5 π

sostanzialmente la prima sommatoria della (2), dove N è il numero dei decimali esatti di

che si desiderano ottenere. (Nella formula il simbolo log indica il logaritmo in base 10).

π con N = 100 cifre decimali esatte è ridondante considerare

Per avere ad esempio il valore di

1000 od anche100 termini della serie. Risulterà invece sufficiente un numero di termini pari a FS

 + −

100 log 16 log 5 π con N = 1000 decimali esatti sarà sufficiente

= 72 . Per ottenere

= 

 ⋅

2 log 5 

prendere in considerazione un numero di termini pari a FS = 715

( )

1

Dimensionare in modo adeguato i vettori contenenti i valori numerici. A tal fine valgono le

2) seguenti osservazioni: nello sviluppo dei calcoli si eseguono delle divisioni, e generalmente si

avrà come risultato un quoziente ed un resto. Per tenere conto del solo quoziente nei calcoli

successivi, non considerando pertanto il resto, è necessario che esso risulti trascurabile ai fini

della precisione richiesta, cioè del numero di cifre esatte che si vogliono avere nei calcoli. Se

π

ad esempio si vuole calcolare con 100 cifre esatte, ogni resto dovrà essere inferiore per lo

100

meno a 10 . Per ottenere questa condizione si dovranno pertanto dimensionare i vettori

contenenti i valori numerici in modo adeguato.

Così, se si lavorasse in aritmetica tradizionale, cioè in Base 10 ogni vettore dovrebbe essere

composto da un numero di elementi o celle superiore a 100, almeno pari a (100 + x) celle dove

x è un numero di celle di margine per far sì che nell’evolversi dei calcoli il valore dei vari resti

100

che si possono anche accumulare non superino mai il valore di 10 .

_____________

(1) Quando si devono trattare e manipolare numeri costituiti da molte cifre, come già detto in altre occasioni, risulta necessario

memorizzare i numeri in vettori disponendo opportunamente nei suoi elementi (celle) le cifre del numero ed effettuare su di esse le

opportune operazioni aritmetiche, facendo presente che in ogni cella sono disposte G cifre elementari. 4

G

Utilizzando invece l’ aritmetica con Base 10 ogni vettore dovrà essere composto da un numero di

 

100 + x . Un valore di x = 2 risulta di sufficiente margine.

celle o elementi non inferiore a  

 G π G

. Ad esempio per ottenere sicuramente con 100 cifre esatte utilizzando l’aritmetica in base 10

( )

1 (array) impiegato nei calcoli dovrà essere dimensionato con un numero

con G =5 ogni vettore

di celle non inferiore a (25 + x ) con x ≥2 .

calcolo del minimo numero FS di termini della serie per determinare

il valore di π con tutti i decimali esatti richiesti

Per trovare il valore di FS valgono le seguenti considerazioni: nella formula (2) di π compare la sommatoria col termine

generico in valore assoluto sempre più piccolo man mano che il valore dell’indice k aumenta. Assumendo la somma di un

certo numero di termini della (2) come valore approssimato di π, per ottenere tale valore con N decimali esatti, il che

1

significa che l’approssimazione di π deve essere tale da dare luogo ad un errore minore di , basterà trascurare

N

10

1

tutti i termini della sommatoria che in valore assoluto sono minori di . Pertanto , se si vuole ottenere il valore di π

N

10

esatto sino alla N-esima cifra decimale implicando il minor numero di termini della formula occorrerà trovare il primo

1

termine della (3) che sia in valore assoluto non superiore a .

N

10 1

16 4

Dettagli
15 pagine