Formula di Bailey–Borwein–Plouffe

La formula di Bailey–Borwein–Plouffe, nota anche come formula BBP, è una formula per il calcolo di qualsiasi cifra n-ma prefissata di π {\displaystyle \pi } . È stata scoperta nel 1995 da Simon Plouffe ed è così chiamata in onore degli autori dell'articolo in cui è stata pubblicata: David H. Bailey, Peter Borwein e Plouffe.[1]. La formula è la seguente:

π = k = 0 [ 1 16 k ( 4 8 k + 1 2 8 k + 4 1 8 k + 5 1 8 k + 6 ) ] {\displaystyle \pi =\sum _{k=0}^{\infty }\left[{\frac {1}{16^{k}}}\left({\frac {4}{8k+1}}-{\frac {2}{8k+4}}-{\frac {1}{8k+5}}-{\frac {1}{8k+6}}\right)\right]}

La formula BBP dà origine ad un algoritmo di tipo spigot per il calcolo dell'n-esima cifra esadecimale (in base 16) di π {\displaystyle \pi } (e quindi anche della n-esima cifra binaria di π {\displaystyle \pi } ) senza calcolare le cifre precedenti. La formula non consente di calcolare l'n-esima cifra decimale di π {\displaystyle \pi } (cioè in base 10). Tuttavia lo stesso Plouffe ha scoperto un'altra formula nel 2022 che consente di estrarre l'n-esima cifra decimale di π {\displaystyle \pi } .[2] L'esistenza della formula BBP è stata una sorpresa: infatti si riteneva che calcolare l'n-esima cifra di π {\displaystyle \pi } fosse altrettanto difficile quanto calcolare le prime n cifre.[1]

La formula può anche essere riscritta come rapporto tra due polinomi:

π = k = 0 [ 1 16 k ( 120 k 2 + 151 k + 47 512 k 4 + 1024 k 3 + 712 k 2 + 194 k + 15 ) ] {\displaystyle \pi =\sum _{k=0}^{\infty }\left[{\frac {1}{16^{k}}}\left({\frac {120k^{2}+151k+47}{512k^{4}+1024k^{3}+712k^{2}+194k+15}}\right)\right]}

la cui dimostrazione è piuttosto semplice.[3]

A partire dalla sua scoperta, sono state trovate altre formule nella forma generale

α = k = 0 [ 1 b k p ( k ) q ( k ) ] {\displaystyle \alpha =\sum _{k=0}^{\infty }\left[{\frac {1}{b^{k}}}{\frac {p(k)}{q(k)}}\right]}

per molti altri numeri irrazionali α {\displaystyle \alpha } , dove p ( k ) {\displaystyle p(k)} e q ( k ) {\displaystyle q(k)} sono polinomi con coefficienti interi e b 2 {\displaystyle b\geq 2} è una base intera.[4] Formule di questa tipologia sono conosciute come formule di tipo BBP.[5] Dato un numero α {\displaystyle \alpha } , non esiste un algoritmo noto per trovare i valori appropriati di p ( k ) {\displaystyle p(k)} , q ( k ) {\displaystyle q(k)} e b {\displaystyle b} ; infatti tali formule vengono scoperte in modo sperimentale.

Specializzazioni

Una specializzazione della formula generale che ha prodotto molti risultati è la seguente:

P ( s , b , m , A ) = k = 0 [ 1 b k j = 1 m a j ( m k + j ) s ] {\displaystyle P(s,b,m,A)=\sum _{k=0}^{\infty }\left[{\frac {1}{b^{k}}}\sum _{j=1}^{m}{\frac {a_{j}}{(mk+j)^{s}}}\right]} ,

dove s, b e m sono numeri interi, e A = ( a 1 , a 2 , , a m ) {\displaystyle A=(a_{1},a_{2},\dots ,a_{m})} è una sequenza di numeri interi. La funzione P porta ad una notazione compatta per alcune soluzioni. Ad esempio, la formula BBP:

π = k = 0 [ 1 16 k ( 4 8 k + 1 2 8 k + 4 1 8 k + 5 1 8 k + 6 ) ] {\displaystyle \pi =\sum _{k=0}^{\infty }\left[{\frac {1}{16^{k}}}\left({\frac {4}{8k+1}}-{\frac {2}{8k+4}}-{\frac {1}{8k+5}}-{\frac {1}{8k+6}}\right)\right]}

può essere scritta come:

π = P ( 1 , 16 , 8 , ( 4 , 0 , 0 , 2 , 1 , 1 ) ) . {\displaystyle \pi =P{\bigl (}1,16,8,(4,0,0,-2,-1,-1){\bigr )}.}

Formule di tipo BBP già note

Alcune delle formule più semplici di tipo BBP, già ben note prima della scoperta della formula BBP e per le quali la funzione P porta ad una notazione compatta, sono le seguenti:

ln 10 9 = 1 10 + 1 200 + 1 3   000 + 1 40 000 + 1 500 000 + = k = 1 1 10 k k = 1 10 k = 0 [ 1 10 k ( 1 k + 1 ) ] = 1 10 P ( 1 , 10 , 1 , ( 1 ) ) , {\displaystyle {\begin{aligned}\ln {\frac {10}{9}}&={\frac {1}{10}}+{\frac {1}{200}}+{\frac {1}{3\ 000}}+{\frac {1}{40\,000}}+{\frac {1}{500\,000}}+\cdots \\&=\sum _{k=1}^{\infty }{\frac {1}{10^{k}\cdot k}}={\frac {1}{10}}\sum _{k=0}^{\infty }\left[{\frac {1}{10^{k}}}\left({\frac {1}{k+1}}\right)\right]\\&={\frac {1}{10}}P{\bigl (}1,10,1,(1){\bigr )},\end{aligned}}}
ln 2 = 1 2 + 1 2 2 2 + 1 3 2 3 + 1 4 2 4 + 1 5 2 5 + = k = 1 1 2 k k = 1 2 k = 0 [ 1 2 k ( 1 k + 1 ) ] = 1 2 P ( 1 , 2 , 1 , ( 1 ) ) . {\displaystyle {\begin{aligned}\ln 2&={\frac {1}{2}}+{\frac {1}{2\cdot 2^{2}}}+{\frac {1}{3\cdot 2^{3}}}+{\frac {1}{4\cdot 2^{4}}}+{\frac {1}{5\cdot 2^{5}}}+\cdots \\&=\sum _{k=1}^{\infty }{\frac {1}{2^{k}\cdot k}}={\frac {1}{2}}\sum _{k=0}^{\infty }\left[{\frac {1}{2^{k}}}\left({\frac {1}{k+1}}\right)\right]\\&={\frac {1}{2}}P{\bigl (}1,2,1,(1){\bigr )}.\end{aligned}}}

essendo valida la seguente identità per ogni a > 1: ln a a 1 = k = 1 1 a k k {\displaystyle \ln {\frac {a}{a-1}}=\sum _{k=1}^{\infty }{\frac {1}{a^{k}\cdot k}}} .

A Plouffe è dovuta anche la seguente formula, ricavabile a partire dallo sviluppo di Maclaurin dell'arcotangente:

arctan 1 b = 1 b 1 b 3 3 + 1 b 5 5 1 b 7 7 + 1 b 9 9 + = k = 1 [ 1 b k sin k π 2 k ] = 1 b k = 0 [ 1 b 4 k ( 1 4 k + 1 + b 2 4 k + 3 ) ] = 1 b P ( 1 , b 4 , 4 , ( 1 , 0 , b 2 , 0 ) ) . {\displaystyle {\begin{aligned}\arctan {\frac {1}{b}}&={\frac {1}{b}}-{\frac {1}{b^{3}3}}+{\frac {1}{b^{5}5}}-{\frac {1}{b^{7}7}}+{\frac {1}{b^{9}9}}+\cdots \\&=\sum _{k=1}^{\infty }\left[{\frac {1}{b^{k}}}{\frac {\sin {\frac {k\pi }{2}}}{k}}\right]={\frac {1}{b}}\sum _{k=0}^{\infty }\left[{\frac {1}{b^{4k}}}\left({\frac {1}{4k+1}}+{\frac {-b^{-2}}{4k+3}}\right)\right]\\&={\frac {1}{b}}P\left(1,b^{4},4,\left(1,0,-b^{-2},0\right)\right).\end{aligned}}}

Notare infatti che la notazione P può essere generalizzata anche al caso in cui b non sia un numero intero.

Confronto tra la formula BBP ed altri metodi di calcolo di pi greco

L'algoritmo basato sulla formula BBP per il calcolo di π {\displaystyle \pi } non richiede particolari tipi di dato e consente di calcolare l'n-esima cifra senza dover calcolare le prime n − 1 cifre.

Sebbene la formula BBP possa calcolare direttamente il valore di qualsiasi cifra data di π {\displaystyle \pi } con meno sforzo computazionale rispetto alle formule che necessitano il calcolo delle precedenti, l'algoritmo rimane di complessità linearitmica ( O ( n log n ) {\displaystyle O(n\log n)} ), il che significa che valori di n via via più grandi richiedono sempre più tempo per essere calcolati; cioè, più una cifra si trova lontana, più tempo impiega l'algoritmo BBP per calcolarla, proprio come gli algoritmi standard di calcolo di π {\displaystyle \pi } .[6]

Note

  1. ^ a b (EN) David H. Bailey, Peter B. Borwein e Simon Plouffe, On the Rapid Computation of Various Polylogarithmic Constants, in Mathematics of Computation, vol. 66, n. 218, 1997, pp. 903–913, DOI:10.1090/S0025-5718-97-00856-9.
  2. ^ (EN) Eric W. Weisstein, Digit-Extraction Algorithm, in MathWorld, Wolfram Research.
  3. ^ (EN) David H. Bailey, Jonathan M. Borwein, Peter B. Borwein e Simon Plouffe, The quest for pi, in Mathematical Intelligencer, vol. 19, n. 1, 1997, pp. 50–57, DOI:10.1007/BF03024340.
  4. ^ (EN) David H. Bailey, A compendium of BBP-type formulas for mathematical constants, updated 15 Aug 2017 (PDF), su davidhbailey.com.
  5. ^ (EN) Eric W. Weisstein, BBP Formula, in MathWorld, Wolfram Research.
  6. ^ (EN) David H. Bailey, The BBP Algorithm for Pi (PDF), su experimentalmath.info, 8 settembre 2006.

Collegamenti esterni

  • (EN) Eric W. Weisstein, Formula di Bailey–Borwein–Plouffe, su MathWorld, Wolfram Research. Modifica su Wikidata
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica