Consideriamo lo sviluppo binomiale di

La precisione in matematica
Di Cristiano Armellini, [email protected]
Consideriamo il tema del calcolo dei decimali di un qualunque numero reale con una precisione infinita.
Consideriamo lo sviluppo binomiale di
(1 + π‘₯)π‘Ž = 1 + π‘Žπ‘₯ + 𝐢2π‘Ž π‘₯ + 𝐢3π‘Ž π‘₯ + β‹―
Ove i termini dello sviluppo sono i coefficienti binomiali C.
Consideriamo quindi a = ½, a = 1/3 ecc.
Nel caso a = ½, per -1 < x <= 1 ho la seguente formula
1
1 2
1∗3 3 1∗3∗5 4
π‘₯ +
π‘₯ − 4
π‘₯ +β‹―
√1 + π‘₯ = 1 + π‘₯ −
2
2∗4
2∗4∗6
2 ∗ 4!
Per x = 1 ho immediatamente la √2
1
√3
Se x =1/2 ho posso calcolare √1 + π‘₯ = √1 + 2 = 2 ma sconoscendo già il valore esatto del denominatore
√
mi ricavo facilmente il valore del numeratore.
Continuando così per x = 1/3 mi calcolo la radice quadrata di 4 (che già so essere un quadrato perfetto),
quindi per x = ¼ mi calcolo la radice quadrata di 5, conoscendo la radice di 4, e per x = 1/5 la radice di 6
conoscendo già al passo precedente la radice quadrata di 5, ecc.
Il metodo iterattivo è immediato quando √1 + 1/𝑛 = √(𝑛 + 1)/𝑛 e n o n+1 sono quadrati perfetti perché
in questo caso applicando la formulo dello sviluppo binomiale e conoscendo il valore del quadrato perfetto,
il calcolo dell’altra radice quadrata risulta immediato.
Stesso ragionamento per le radici cubiche ricordando che per a = 1/3 (per -1 < x <= 1)
1
2 2
2∗5 3
π‘₯ +
π‘₯ +β‹―
√1 + π‘₯ = 1 + π‘₯ −
3
3∗6
3∗6∗9
3
Il sistema descritto consente di ottenere valori con una precisione arbitraria ma a volte risulta poco pratico.
Consideriamo allora un’altra semplice tecnica. Partiamo dall’equazione π‘₯ 2 + π‘₯ + 𝑐 = 0 che ha come
soluzioni π‘₯1,2 =
−1±√1−4𝑐
2
. Allora se il mio obiettivo è calcolare (ad esempio) la radice quadrata di 5 basterà
porre 1-4c=5, quindi c = -1, quindi π‘₯ 2 + π‘₯ − 1 = 0, π‘₯ =
−1±√5
.
2
Per ottenere la soluzione in modo preciso
possiamo risolvere l’equazione usando i metodi del calcolo numerico (tangenti, Newton, punto unito,
bisezione) . Una volta trovato x basterà calcolare 2x+/-1 per ottenere il risultato finale.
E se devo calcolare la radice ennesima di x ? n > 2 . Si possono studiare regole ad hoc come abbiamo fatto
sopra per ogni n > 2 ma in generale si considera l’equazione π‘₯ 𝑛 − π‘Ž = 0 che risolta con le tecniche di analisi
numerica dà la radice ennesima di a.
Un altro possibile approccio (sempre grazie a Taylor-Mc-Laurin) consiste nel considerare lo sviluppo di
π‘Ž π‘₯ = 𝑒 π‘₯𝑙𝑛(π‘Ž) = 1 + π‘₯𝑙𝑛(π‘Ž) +
(π‘₯𝑙𝑛(π‘Ž))2 (π‘₯𝑙𝑛(π‘Ž))3
+
+β‹―
2!
3!
Che vale per ogni x ma nella quale compare ln(a) ovvero il logaritmo naturale di a che però possiamo
calcolare con una precisione infinita usando una delle formule riportate qui sotto.
Usando lo sviluppo in serie di Taylor già sappiamo che possiamo calcolare con estrema accuratezza i valori
di sen(x), cos(x), tan(x), ln(x), alla base di molti calcoli e applicazioni matematiche (per l’accuratezza basterà
considerare molti termini della serie)
Ad esempio
π‘₯3 π‘₯5 π‘₯7
+ − +. .
3! 5! 7!
π‘₯2 π‘₯4 π‘₯6
cos(π‘₯) = 1 − + − +. .
2! 4! 6!
2
π‘₯
π‘₯3
𝑒 π‘₯ = 1 + π‘₯ + + +. .
2! 3!
π‘₯−1
1 π‘₯−1 3 1 π‘₯−1 5
ln(π‘₯) = 2 {(
)+ (
) + (
) +β‹―},π‘₯ > 0
π‘₯+1
2 π‘₯+1
5 π‘₯+1
𝑠𝑒𝑛(π‘₯) = π‘₯ −
π‘₯−1
1 π‘₯−1 2 1 π‘₯−1 3
ln(π‘₯) = {(
)+ (
) + (
) + β‹― } , π‘₯ > 1/2
π‘₯
2
π‘₯
3
π‘₯
Di queste espressioni sappiamo anche stimare l’errore che si commette considerando i primi k termini della
serie
La precisione è molto importante anche per il calcolo dei numeri trascendenti, il più famoso dei quali è
certamente il PI greco. Usando la formula di Wallis ho
πœ‹
24𝑛 (4𝑛!)4
= lim
2 𝑛→+∞ [(2𝑛)!]2 (2𝑛 + 1)
Con questa formula molto compatta proviamo a scrivere una applicativo in Python per calcolare le cifre
decimali di pigreco con una precisione praticamente infinita
import math;
def wallis(n):
m = 10**n;
pi = ((2**(4*m))*(math.factorial(m))**4)/((2*m+1)*(math.factorial(2*m)**2));
k = 2*pi;
return k*10^n;
Ma in questo caso per ottenere una estrema precisione occorre disporre di un calcolatore particolarmente
potente