sabato 29 dicembre 2012

La radice d-esima di x

Ecco una implementazione in Python
def potenza(a,b):
 if b == 0:
  return 1;
 else:
  return a*potenza(a,  b-1);
def radice(x, d):
 a = 1;
 i = 1;
 while i <= 100:
  a = ((d-1)*a+x/potenza(a, d-1))/d;
  i = i+1;
 print (a);


usando la ben nota formula: ;

domenica 23 dicembre 2012

Fattoriali di numeri frazionari e di numeri negativi


Esiste il fattoriale di un numero non intero ma razionale ? Per definizione si può calcolare il fattoriale di un solo numero intero positivo Se però consideriamo che  La funzione gamma

ci permette di calcolare il fattoriale di un numero intero allora
Quindi ha senso calcolare il fattoriale di (3/2) ! = 3*radq(Pi)/4.

Non avrebbe senso invece in altri punti ad esempio in (4/5) !
 Così anche per numeri negativi perché oltre a valere



vale anche

ad altre conclusioni (e ad altri valori) si poteva comunque arrivare se si prende pwe definizione di fattoriale


(in questo caso si potrebbe calcolare il fattoriale di qualunque numero)

Oppure la formule di Stirling:
log n ! = n log(n) -n +0,5log(n)+0,5*log(2Pi)
 e poi passiamo all'esponenziale ricordano che log(-a) = log(a) +i*Pi, a > 0

Matematica e social network

Fattorizzare con lo scarto quadratico

domenica 16 dicembre 2012

Altre speciali equazioni diofantee

dato n trovare x, y, z, w interi tali che
basta porre

con
a = 1, 2, ..., n-1
b = n-1, n-2, ...., 1



dato n trovare x, y, z tali che
basta porre

b = 1, 4, 9, 25, ....

sabato 15 dicembre 2012

Gli zeri in un fattoriale e fattorizzazione RSA

Quanti zeri ci sono in n! con n > 5 ?

Ecco la formula



dove int = la parte intera di n ES: int(1,8) = 1, int(1,2) = 1
quindi n! = a*10^[zeri(n!)]

Questo ci può essere molto utile per fattorizzre un numero molto grande riducento i calcoli. Infatti si ha
oppure con la funzione gamma



Molto importante nei problemi RSA
E' possible usare anche le approssimazione di Strirling.
Per i calcoli è consigliabile usare un parogramma come il PARI/GP per la gestione dei grandi numeri.

domenica 9 dicembre 2012

Generare e risolvere le equazioni diofantee

ecco come generare e risolvere infinite equazioni diofantee ovvero equazioni in più incognite che devono essere risolte per valori interi.

esempio1)
X*Y^2 + Y^2*X= Z

dato che X*Y^2+Y^2*X=X*Y*(X+Y)
allora le soluzioni sono
X = m
Y = n
Z = m*n*(m+n)

con n, m valori interi

in generale l'equazione
X^n * Y +Y^n * X = Z
dato che a^n * b + b^n * a = ab(a^(n-1) + b^(n-1))
ha come soluzioni
X = a, Y = b, Z = ab(a^(n-1) + b^(n-1))

Più in generale X^m * Y^n + Y^m * X^n = Z
dato che a^(n+q) * a^n + b ^(n+q) * a^n = (a^n) (b^n) (a^q + b ^ q)
allora X = a, Y = b, Z= a^n b^n (A^q + b^q) dove m > n;  m = n+q

In generale se z = f(x,y)  è una equazione diofantea le soluzioni sono x = m, y = n, z = f(x,y)

crivello con i numeri casuali

Un cifrario sicuro

martedì 4 dicembre 2012

Il calcolo degli zeri della funzione zeta di Riemann


Calcolare gli seri della funzione zeta di Riemann


Di Cristiano Armellini, cristiano.armellini@alice.it

Usando il famoso programma Mathematica possiamo trovare gli zeri della funzione zeta di Riemann con il comando seguente cambiano ogni volta il punto iniziale per x (magari sarebbe meglio usare anche il for)

FindRoot[Abs[Zeta[1/2+I*x]]==0, {x, 1}] oppure

FindRoot[Abs[Zeta[1/2+I*x]]==0, {x, {24, 26}}] ovvero specificando un intervallo di valori vicini

Tuttavia per velocizzare la procedura

In wolfram  http://www.wolframalpha.com/ possiamo usare il metodo grafico
Plot[Abs[Zeta[1/2+x*I]], {x, 0, 30}] che ci può dare una mano a trovare gli zeri graficamente.

Il calcolo di E con la trigonometria iperbolica