Congruencia de cadrados

De testwiki
Revisión feita o 1 de xaneiro de 2025 ás 13:47 por imported>Andresv.63
(dif) ← Revisión máis antiga | Revisión actual (dif) | Revisión máis nova → (dif)
Saltar á navegación Saltar á procura

En teoría de números, unha congruencia de cadrados é unha congruencia que se usa habitualmente nos algoritmos de factorización de enteiros.

Dedución

Dado un número enteiro positivo n, o método de factorización de Fermat baséase en atopar números x e y que satisfagan a igualdade

x2y2=n

Entón podemos factorizar n = x2 − y 2 = ( x + y )( x − y). Este algoritmo é lento na práctica porque necesitamos buscar moitos destes números, e só algúns satisfán a ecuación. No entanto, n tamén se pode factorizar se podemos satisfacer as condicións máis débiles de congruencia de cadrados:

x2y2(modn)
x≢±y(modn)

De aquí deducimos facilmente

x2y20(modn)
(x+y)(xy)0(modn)

Isto significa que n divide o produto ( x + y )( x − y). A segunda condición non trivial garante que n non divide (x + y) nin (x − y) individualmente. Así (x + y) e (x − y) cada un contén algúns factores de n, mais non todos, e os máximos comúns divisores de (x + y, n) e de (x − y, n) daranos estes factores. Isto pódese facer rapidamente usando o algoritmo deEeuclides.

As congruencias de cadrados son moi útiles nos algoritmos de factorización de enteiros. E viceversa, debido a que atopar raíces cadradas módulo un número composto resulta ter un coste probabilístico de tempo polinómico equivalente a factorizar ese número, calquera algoritmo de factorización de enteiros pode usarse de forma eficiente para identificar unha congruencia de cadrados.

Usando unha base de factores

Unha técnica iniciada polo método de factorización de Dixon e mellorada pola factorización continua de fraccións, a criba cadrática e a criba xeral de corpos numéricos, é construír unha congruencia de cadrados utilizando unha base de factores.

En vez de buscar un par x2y2(modn) directamente, atopamos moitas "relacións" x2y(modn) onde os y só teñen factores primos pequenos (son números suaves), e multiplíquanse algúns deles para obter un cadrado no lado dereito.

O conxunto de pequenos primos no que factoriza y chámase base de factores. Constrúese unha matriz lóxica onde cada fila describa un y, cada columna corresponde a un primo na base do factor e a entrada sexa a paridade (par ou impar) do número de veces que ese factor ocorre en y. O noso obxectivo é seleccionar un subconxunto de filas cuxa suma sexa a fila de ceros. Isto corresponde a un conxunto de valores y cuxo produto é un número cadrado, é dicir, un produto cuxa factorización só ten expoñentes pares. Os produtos dos valores x e y xuntos forman unha congruencia de cadrados.

Este é un problema clásico dun sistema de ecuacións lineares, e pódese resolver de forma eficiente mediante a eliminación de Gauss tan pronto como o número de filas supere o número de columnas. Moitas veces inclúense algunhas filas adicionais para garantir que existen varias solucións no espazo nulo da nosa matriz, no caso de que a primeira solución produza unha congruencia trivial.

Exemplos

Factorizar 35

Tomamos n = 35 e atopamos que

62=361=12(mod35) .

Deste xeito, factorizamos como

gcd(61,35)gcd(6+1,35)=57=35

Factorizar 1649

Usando n = 1649, como exemplo de atopar unha congruencia de cadrados construídos a partir dos produtos de non cadrados (véxase o método de factorización de Dixon), primeiro obtemos varias congruencias

41232=25(mod1649),
422115=523(mod1649),
432200=2352(mod1649).

Delas, a primeira e a terceira só teñen como factores primos pequenos, e un produto destes ten unha potencia par de cada primo pequeno e, polo tanto, é un cadrado.

32200=25+352=2852=(245)2=802

obtendo a congruencia de cadrados

32200=8024124321142(mod1649).

Entón, usando os valores de 80 e 114 como os nosos x e y dá factores

gcd(11480,1649)gcd(114+80,1649)=1797=1649.

Notas

Modelo:Reflist

Véxase tamén

Bibliografía

Outros artigos

Ligazóns externas


Modelo:Control de autoridades