venerdì 28 maggio 2010

Serie degli inversi dei primoriali e fattoriali

La convergenza di una serie è un problema classico di matematica.

Un modo semplice per "sondare" la serie e stabilire se è convergente o divergente è quello di concentrarci sulla somma S della serie ed usare in PARI/GP le funzionalità suminf oppure sum; in tal modo aumentando il numero di elementi considerati si ha una indicazione sulla serie e la somma S.

In alcuni altri casi la sola suminf o la sum non è sufficiente e occorre scrivere un piccolo programma.

Primoriali

Un primoriale p# è uguale al prodotto dei numeri primi, a partire da p, con tutti i numeri primi precedenti.

Se vogliamo avere una indicazione sulla somma S della serie degli inversi dei primoriali,
possiamo scrivere il seguente programma:

SerRevPrimorial(n) = local(S=0,P=1);{

 forprime(i=2,n,
     P = ProdPrime(i);
     S = S + (1/P) * 1.0;
 );
 return(S);
}

ProdPrime(v)= local(p=1);{

 forprime(i=2,v,
          p = p * i;
 );
 return(p);
}

Se lo eseguiamo, otteniamo:

? SerRevPrimorial(1)
%35 = 0
? SerRevPrimorial(2)
%36 = 0.5000000000000000000000000000
? SerRevPrimorial(3)
%37 = 0.6666666666666666666666666667
? SerRevPrimorial(5)
%38 = 0.7000000000000000000000000000
? SerRevPrimorial(7)
%39 = 0.7047619047619047619047619047
? SerRevPrimorial(11)
%40 = 0.7051948051948051948051948052
? SerRevPrimorial(100)
%41 = 0.7052301717918009651474316828
? SerRevPrimorial(1000)
%42 = 0.7052301717918009651474316828
? SerRevPrimorial(10000)
%43 = 0.7052301717918009651474316828

Si osserva che già da p=7 si ottiene che la serie degli inversi dei primoriali converge al valore
0.7047619047619047619047619047, valore leggermente minore della metà della radice quadrata di 2 o del seno di Pigreco/4.


Fattoriali
Se vogliamo, invece, avere indicazioni sulla serie inversa dei fattoriali il programmino è del tipo:

SerRevFactorial(n) = local(S=0,P=1);{

 for(i=0,n,
     P = i!;
     S = S + (1/P) * 1.0;
 );
 return(S);
}

Dobbiamo tenere conto anche che 0!=1.

Se lo eseguiamo, otteniamo:


? SerRevFactorial(0)
%4 = 1.000000000000000000000000000
? SerRevFactorial(1)
%5 = 2.000000000000000000000000000
? SerRevFactorial(2)
%6 = 2.500000000000000000000000000
? SerRevFactorial(3)
%7 = 2.666666666666666666666666667
? SerRevFactorial(4)
%8 = 2.708333333333333333333333333
? SerRevFactorial(7)
%9 = 2.718253968253968253968253968
? SerRevFactorial(1000)
%10 = 2.718281828459045235360287471
Anche qui la serie converge ad un valore già da n=7, ovvero al valore 2.7182818284590452353602874712
che è il numero di Nepero e.

Alla prox

0 commenti:

Posta un commento