Test de Lucas

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En teoría de números, el test de Lucas es un test de primalidad para un número natural n y requiere que los factores primos de n − 1 sean conocidos.

Si existe un número natural a menor que n y mayor que 1 que verifica las condiciones

a^{n-1}\ \equiv\ 1 \pmod n

así como

a^{({n-1})/q}\ \not\equiv\ 1 \pmod n

para todos los factores primos q de n − 1, entonces n es primo. Si no puede encontrarse tal a, entonces n es un número compuesto.

Por ejemplo, tómese n = 71. Entonces, n − 1 = 70 = (2)(5)(7). Tómese ahora a = 11. En primer lugar:

11^{70}\ \equiv\ 1 \pmod {71}

Esto no demuestra que el orden multiplicativo de 11 mod 71 es 70, porque algún factor de 70 aún podría funcionar arriba. Verificamos entonces 70 dividido por sus factores primos:

11^{35}\ \equiv\ 70\ \not\equiv\ 1 \pmod {71}
11^{14}\ \equiv\ 54\ \not\equiv\ 1 \pmod {71}
11^{10}\ \equiv\ 32\ \not\equiv\ 1 \pmod {71}

Entonces, el orden multiplicativo de 11 mod 71 es 70 y de esta manera, 71 es primo.

Para realizar estas potencias modulares debería usarse el método acelerado de exponenciación binaria.

Este algoritmo es correcto ya que si a pasa el primer paso, podemos deducir que a y n son coprimos. Si a también pasa el segundo paso, entonces el orden de a en el grupo (Z/nZ)* es igual a n − 1, lo que significa que el orden de ese grupo es n − 1, implicando que n es primo. Recíprocamente, si n es primo, entones existe una raíz primitiva módulo n y cualquier raíz primitiva pasará ambos pasos del algoritmo.

Véase también[editar]