Método p+1-Williams

El método de Williams  es un método para factorizar números usando secuencias de números de Lucas , desarrollado por Hugh Williams en 1982. El algoritmo encuentra un divisor primo del número . Similar al método de Pollard , pero utiliza la factorización de un número . Tiene buenos indicadores de rendimiento solo en el caso de que sea fácil de factorizar. Por regla general, no suele implementarse en la práctica debido al bajo porcentaje de tales casos [1] .

Secuencias numéricas de Lucas

Para más cálculos, necesitamos introducir secuencias de números de Lucas y enumerar algunas de sus propiedades.

Sean y  sean números enteros fijos. Las secuencias de números de Lucas se definen como [1] :

Deja también

Las secuencias tienen las siguientes propiedades:

Para probar estas propiedades, considere las fórmulas explícitas para la secuencia de números de Lucas :

y

donde y  son las raíces del polinomio característico

Usando fórmulas explícitas y el teorema de Viette :

obtenemos expresiones y

A continuación, destacamos una propiedad más:

Si GCD y luego: y de donde

Y finalmente formulamos el teorema:

Si p es un número primo impar y el símbolo de Legendre es , entonces:

La demostración de este teorema es laboriosa y se encuentra en el libro de D. G. Lemer [2] .

El primer paso del algoritmo

Sea  un divisor primo de un número factorizable , y se realiza la expansión:

donde  están los números primos.

Dejar

Introduzcamos un número donde los grados se escojan de tal forma que

entonces [1]

Además, según el teorema, si mcd entonces

Y, por lo tanto, se encuentra MCD , es decir, el divisor del número buscado [1] .

Vale la pena señalar que los números no se conocen en la etapa inicial del problema. Por lo tanto, para simplificar la tarea, haremos lo siguiente: ya que por la propiedad (2) A continuación, usamos la propiedad (6) y obtenemos:

Así, sin pérdida de generalidad, podemos afirmar que [1]

A continuación, usamos el teorema del cual concluimos que

y por lo tanto [1]

Ahora elige algún número tal que mcd

Designamos:

Finalmente, necesitas encontrar GCD [1]

Para buscar , proceda de la siguiente manera [1] :

1) descomponer en forma binaria: donde .

2) introducimos una secuencia de números naturales . Al mismo tiempo ;

3) buscamos pares de valores según la siguiente regla:

donde

4) los valores se buscan de acuerdo con las reglas (que se derivan de las propiedades y la definición de la secuencia de números de Lucas ):

.

Para valores predeterminados, es decir, obtenemos el resultado:

374468

Comprobemos este valor. Para ello, consideramos GCD GCD y .

Si elegimos números sin éxito en el primer paso , es decir, resultó que GCD , entonces debemos continuar con el segundo paso. De lo contrario, el trabajo se completa [1] .

El segundo paso del algoritmo

Que el número tenga algún divisor primo mayor que pero menor que algún , es decir:

, dónde

Introduzca una secuencia de números primos .

Introducimos otra secuencia:

A continuación, definimos:

.

Usando la propiedad , obtenemos los primeros elementos:

.

A continuación, usamos la propiedad y obtenemos:

.

Así calculamos

A continuación, consideramos:

MCD para

Tan pronto como obtenemos , detenemos los cálculos [1] .

Para valores predeterminados, es decir, obtenemos el resultado:

139,

Cuál es la respuesta correcta.

Comparación de velocidad

El autor de este método realizó pruebas y métodos en la máquina AMDAHL 470-V7 en 497 números diferentes, lo que mostró que, en promedio, el primer paso del algoritmo es aproximadamente 2 veces más lento que el primer paso del algoritmo , y el segundo el paso es unas 4 veces más lento [1] .

Aplicación

Debido al hecho de que el método de factorización es más rápido, el método - rara vez se usa en la práctica [1] .

Registros

Por el momento (14 de diciembre de 2013), los tres divisores primos más grandes [3] encontrados por el método consisten en 60, 55 y 53 dígitos decimales.

Número de dígitos pags divisor de números Encontrado (por quién) Encontrado (cuando) B B2
60 725516237739635905037132916171116034279215026146021770250523 A. Kruppa

P.Montgomery

31.10.2007
55 1273305908528677655311178780176836847652381142062038547 P. Leyland 16/05/2011
53 60120920503954047277077441080303862302926649855338567 P. Leyland 26.02.2011

Aquí  está el miembro 2366 de la secuencia numérica de Lucas.

Notas

  1. 1 2 3 4 5 6 7 8 9 10 11 12 Williams, 1982 .
  2. Lehmer, 1930 .
  3. Factores de registro encontrados por el método p+1 . Fecha de acceso: 13 de diciembre de 2013. Archivado desde el original el 18 de diciembre de 2013.

Literatura

Enlaces