Anar al contingut

Método d'factorización de Fermat

De L'Enciclopèdia, la wikipedia en valencià
Pierre de Fermat

El método d'factorización de Fermat es basa en la representació d'un número real o un número complejo com la diferència de dos quadrats:

n=a2b2

Eixa diferència es pot factorizar algebraicamente com (a+b)(ab); si cap d'eixos factors és igual a 1, es tracta d'una factorización pròpia de n.

Tot número impar es pot representar d'esta manera. En efecte, si n=cd és una factorización de n, llavors:

n=(c+d2)2(cd2)2

Com n és impar, c i d també són impars, per lo que el seu semisuma i semidiferencia són abdós sancers. (Un múltiple de quatre també és una diferència de quadrats: en eixe cas es poden plantejar c i dcom a número par.)

En la seua forma més simple, el método de Fermat pot ser inclús més llent que el de divisió per tentativa en el pijor dels casos. No obstant, la combinació de divisió per tentativa i el método de Fermat és més efectiu que l'us exclusiu d'un d'ells.

Método bàsic

[editar | editar còdic]

Es van prenent varis valors de a, en l'esperança de que a2n=b2 siga un quadrat.


Si n té més de dos factors primers, este procediment primer troba la factorización en el menor valor de a i b. És dir, a+b és el menor factor major o igual que la raïl quadrada de n. Per tant, ab=na+b és el major factor menor o igual que n. Si el procediment torna n=1n, llavors n deu ser primer.

Per a n=cd, siga c el major factor menor que la raïl. a=c+d2, per tant, el número de passos requerits és aproximadament:

c+d2n=(dc)22=(nc)22c.

Si n és primer (és dir, c=1), ¡fan falta O(n) passos!. Esta és des de després una mala forma de demostrar la primalidad d'un número. Pero si n té un factor pròxim a la seua raïl quadrada, el método funciona ràpidament. Concretament, si c diferix de n en menys de (4n)1/4, llavors el método solament necessita un pas, i açò és independent del tamany de n.

Eixemple

[editar | editar còdic]

Prenga's el número n=5959 per a realisar la seua factorización, es procedix aixina:

A:787980
Bcuad:125282441

El tercer intent produïx un quadrat. A=80, B=21, i els factors són AB=59 i A+B=101.

Factorización de Fermat i divisió per tentativa

[editar | editar còdic]

Intentem factorizar l'número primo n=2345678917, pero també calcular i ab. Escomençant per n i pujant des d'ahí, queden aixina tabulados les senyes:

A: 48433 48434 48435 48436
Bcuad: 76572 173439 270308 367179
B: 276,7 416,5 519,9 605,9
A-B: 48156,348017,547915,147830,1

En la pràctica, es pot ignorar l'última fila fins que b siga un número entero. Pero cal observar que si n tinguera un factor menor que la seua raïl pero major que AB=47830,1, el método de Fermat ya ho hauria trobat.

La divisió per tentativa normalment tindria que seguir fins al major cosí menor que 48432; pero despuix de sol quatre passos en el método de Fermat, basta intentar-ho fins a 47830 per a trobar un factor o determinar la primalidad.


Açò sugerix l'implementació d'un método que combine els ya descrits. Basta prendre una cota c>n i usar Fermat per als factors compresos entre n i c. Açò deixa una cota per a la divisió per tentativa de cc2n. En l'eixemple anterior, en c=48436 la cota per a la divisió per tentativa és 47830. Una atra opció raonable seria c=55000, que deixa una cota de 28937.

Seguint en el método de Fermat, s'obté un rendiment cada volta menor. Aixina, normalment un pararia abans d'aplegar a este punt:

A: 60001 60002
Bcuad: 12544410841254561087
B: 35418,1 35419,8
A-B: 24582,9 24582,2

Vore també

[editar | editar còdic]

Referències

[editar | editar còdic]