Una criba racional es un algoritmo general para convertir enteros en factores primos . El algoritmo es un caso especial del método de tamiz de campo numérico general . Si bien es menos eficiente que el algoritmo general, es conceptualmente más simple. El algoritmo puede ayudar a comprender cómo funciona el método de tamiz de campo numérico general.
Supongamos que estamos tratando de factorizar un número compuesto n . Definimos el límite de B y la base de factores (que denotaremos por P ), el conjunto de todos los números primos menores o iguales que B . Luego buscamos un entero positivo z tal que tanto z como z+n sean B -suaves , es decir , todos sus divisores primos están contenidos en P. Por lo tanto, podemos escribir para potencias adecuadas
,
y también para adecuado tenemos
.
Pero y son comparables en módulo , por lo que cualquier entero z que encontremos da un enlace de multiplicación de módulo (mod n ) entre todos los elementos de P , es decir
(donde a i y b i son números enteros no negativos).
Cuando hemos generado suficientes de estas razones (por lo general lo suficiente como para que el número de tales razones sea ligeramente mayor que el tamaño de P ), podemos usar métodos de álgebra lineal para multiplicar estas diversas razones de tal manera que las potencias de todos los factores primos se conviertan en ser parejo. Esto nos dará una comparabilidad de cuadrados módulo de la forma a 2 ≡ b 2 (mod n ), que se puede convertir en una factorización del número n , n = mcd ( a - b , n ) × mcd ( a + b , n ). Tal descomposición puede ser trivial (es decir, n = n × 1), en cuyo caso se debe intentar nuevamente con una combinación diferente de razones. Si tenemos suerte, obtendremos un par no trivial de divisores de n y el algoritmo terminará.
Factoricemos el número n = 187 usando un tamiz racional. Probemos con el número B =7, para el cual el conjunto P = {2,3,5,7} sirve como base de factores. El primer paso es comprobar si el número n es divisible por números del conjunto P. Está claro que en el caso de que n sea divisible por uno de estos números primos, hemos encontrado una solución. Sin embargo, 187 no es divisible por 2, 3, 5 o 7. En el siguiente paso, buscamos valores adecuados de z , 2, 5, 9 y 56 son números adecuados. Los cuatro valores de z dan el módulo de relaciones 187:
Ahora combinamos estas proporciones de varias maneras y terminamos con potencias iguales. Por ejemplo,
Alternativamente, la ecuación (3) ya tiene la forma deseada:
Una criba racional, como una criba general de un campo numérico, no puede obtener una descomposición de números de la forma p m , donde p es un número primo y m es un número entero. El problema no es demasiado grande: estadísticamente, tales números son raros y, además, existe un proceso simple y rápido para verificar que un número dado tenga esa forma. Aparentemente, el método más elegante es verificar si para 1 < b < log(n), usando la versión entera del método raíz de Newton [2]
El mayor problema es encontrar números z tales que tanto z como z + n sean B -suaves . Para cualquier B dado, la proporción de B -números uniformes disminuye rápidamente con el tamaño del número. Entonces, si n es grande (digamos cien dígitos), será difícil o casi imposible encontrar suficiente z para que el algoritmo funcione. La ventaja del algoritmo general de tamiz de campos numéricos es que uno tiene que encontrar números uniformes de orden n 1/ d para algún entero positivo d (generalmente 3 o 5), en lugar del orden n requerido por este algoritmo.
Algoritmos de teoría de números | |
---|---|
Pruebas de simplicidad | |
Encontrar números primos | |
Factorización | |
logaritmo discreto | |
Encontrar MCD | |
Módulo aritmético | |
Multiplicación y división de números. | |
Calcular la raíz cuadrada |