Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

В теории чисел , A конгруэнтность квадратов является конгруэнтностью , обычно используемой в целочисленной факторизации алгоритмах.

Вывод [ править ]

Учитывая положительное целое число n , метод факторизации Ферма основан на нахождении чисел x , y, удовлетворяющих равенству

Затем мы можем множить n = x 2 - y 2 = ( x + y ) ( x - y ). Этот алгоритм на практике медленный, потому что нам нужно найти много таких чисел, и только некоторые из них удовлетворяют строгому уравнению. Тем не менее, n также можно факторизовать, если мы можем удовлетворить условие более слабого сравнения квадратов :


Отсюда легко выводим

Это означает, что n делит произведение ( x + y ) ( x - y ). Таким образом, ( x + y ) и ( x - y ) каждый содержит множители n , но эти множители могут быть тривиальными. В этом случае нам нужно найти другие x и y . Вычисление наибольших общих делителей ( x + y , n ) и ( x - y , n ) даст нам эти множители; это можно сделать быстро с помощью алгоритма Евклида.

Сравнения квадратов являются чрезвычайно полезными в алгоритмах факторизации целочисленных и широко используются в, например, квадратичное решето , общее число поля сита , непрерывная дробь на множители и множители Диксона . И наоборот, поскольку поиск квадратных корней по модулю составного числа оказывается вероятностным полиномиальным временем, эквивалентным факторизации этого числа, любой алгоритм целочисленной факторизации может быть эффективно использован для идентификации сравнения квадратов.

Дальнейшие обобщения [ править ]

Также можно использовать факторные базы, чтобы быстрее находить сравнения квадратов. Вместо того, чтобы искать с самого начала, мы находим многие, у которых у есть маленькие простые множители, и пытаемся умножить несколько из них вместе, чтобы получить квадрат в правой части.

Примеры [ править ]

Факторизовать 35 [ править ]

Возьмем n = 35 и находим, что

.

Таким образом, мы учитываем как

Факторизовать 1649 [ править ]

Используя n = 1649 , в качестве примера нахождения сравнения квадратов, построенных из произведений неквадратов (см . Метод факторизации Диксона ), сначала мы получаем несколько сравнений

из них два имеют только маленькие простые числа в качестве факторов

и их комбинация имеет четную степень каждого малого простого числа и, следовательно, представляет собой квадрат

давая конгруэнтность квадратов

Таким образом, используя значения 80 и 114 в качестве наших x и y, получаем коэффициенты

См. Также [ править ]