Metodo di fattorizzazione di Eulero

Da testwiki.
Vai alla navigazione Vai alla ricerca

Il metodo di fattorizzazione di Eulero è un algoritmo ideato da Eulero per fattorizzare dei numeri naturali in numeri primi.

Si basa sulla rappresentazione del numero n (da fattorizzare) come somma di due quadrati in due modi distinti, e per questo non è applicabile né a numeri nella forma 4k+3, né a quelli in cui un numero primo di questa forma è presente ad un esponente dispari nella fattorizzazione di n. Questo ne riduce grandemente il campo di applicabilità, perché anche molti semiprimi nella forma 4k+1 sono prodotto di due primi del tipo 4k+3.

Per questo motivo non è spesso usato come metodo di fattorizzazione, perché non è possibile sapere a priori se un dato numero sia o meno fattorizzabile con quest'algoritmo.

Algoritmo

Data una doppia scrittura di n come somma di due quadrati:

n=a2+b2=c2+d2

(a, b, c e d possono essere trovati, ad esempio, con delle tavole dei quadrati) e supponendo che b e d abbiano la stessa parità (cioè siano entrambi pari o entrambi dispari), e che a sia maggiore di c (e conseguentemente d maggiore di b) si ha

a2c2=(ac)(a+c)=(db)(d+b)=d2b2

(a-c) e (d-b) sono entrambi pari, e quindi hanno un massimo comun divisore k non banale (che può essere trovato velocemente con l'uso dell'algoritmo euclideo); ponendo

ac=kA,db=kB

risulta che A e B sono coprimi. Sostituendo si ha

kA(a+c)=kB(d+b)

e quindi, per il lemma di Euclide, A divide d+b e B divide a+c, e in particolare, se a+c=BC,

kABC=kB(d+b)AC=d+b.

A questo punto, considerando la quantità

[(k2)2+(C2)2](A2+B2)

e svolgendo i conti, questa risulta essere uguale a n, e quindi è una sua fattorizzazione non banale.

Collegamenti esterni

Template:Portale