Test de Lucas
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
así como
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.
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, entonces existe una raíz primitiva módulo n y cualquier raíz primitiva pasará ambos pasos del algoritmo.
Ejemplo
Por ejemplo, tómese n = 71. Entonces, n − 1 = 70 = (2)(5)(7). Tómese ahora a = 11. En primer lugar:
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:
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.
Véase también
Referencias
- Crandall, Richard; Pomerance, Carl (2005). Prime Numbers: a Computational Perspective (2nd edition). Springer. p. 173. ISBN 0-387-25282-7.
- Křížek, Michal; Luca, Florian; Somer, Lawrence (2001). 17 Lectures on Fermat Numbers: From Number Theory to Geometry. CMS Books in Mathematics 9. Canadian Mathematical Society/Springer. p. 41. ISBN 0-387-95332-9.