Конгруэнтность квадратов
Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( январь 2024 г. ) |
В теории чисел сравнение квадратов — это сравнение, обычно используемое в алгоритмах факторизации целых чисел .
Вывод
[ редактировать ]Учитывая положительное целое число n , метод факторизации Ферма основан на поиске чисел x и y, удовлетворяющих равенству
Затем мы можем факторизовать n = x 2 − и 2 знак равно ( Икс + у )( Икс - у ). На практике этот алгоритм работает медленно, поскольку нам нужно искать много таких чисел, и лишь немногие из них удовлетворяют уравнению. Однако n также можно факторизовать, если мы можем удовлетворить более слабым условиям сравнения квадратов :
Отсюда мы легко выводим
Это означает, что n делит произведение ( x + y )( x − y ). Второе условие нетривиальности гарантирует, что n не делит ( x + y ) и ( x − y ) по отдельности. Таким образом, ( x + y ) и ( x − y ) содержат некоторые, но не все, множители n , а наибольшие общие делители ( x + y , n ) и ( x − y , n ) дадут нам эти факторы. Это можно сделать быстро, используя алгоритм Евклида .
Большинство алгоритмов поиска сравнений квадратов на самом деле не гарантируют нетривиальности; они только делают это вероятным. Есть вероятность, что найденное сравнение окажется тривиальным, и в этом случае нам нужно продолжить поиск других x и y .
Сравнения квадратов чрезвычайно полезны в алгоритмах факторизации целых чисел. И наоборот, поскольку поиск квадратных корней по модулю составного числа оказывается вероятностным полиномиальным эквивалентом разложения этого числа на множители, любой алгоритм целочисленной факторизации может эффективно использоваться для выявления сравнения квадратов.
Использование факторной базы
[ редактировать ]Техника, впервые разработанная методом факторизации Диксона и улучшенная с помощью непрерывной факторизации дробей , квадратичного сита и сита общего числового поля , заключается в построении сравнения квадратов с использованием факторной базы .
Вместо того, чтобы искать одну пару непосредственно мы находим множество «отношений» где у имеют только небольшие простые делители (это гладкие числа ), и умножьте некоторые из них вместе, чтобы получить квадрат в правой части.
Набор маленьких простых чисел, в которые входят все y, называется факторной базой. Постройте логическую матрицу , где каждая строка описывает один y , каждый столбец соответствует одному простому числу в базе факторов, а запись представляет собой четность (четную или нечетную) количества раз, когда этот фактор встречается в y . Наша цель — выбрать подмножество строк, сумма которых равна нулевой строке. Это соответствует набору значений y , произведением которого является квадратное число, т. е. тому, факторизация которого имеет только четные показатели. Произведения значений x и y вместе образуют конгруэнтность квадратов.
Это классическая задача системы линейных уравнений , которую можно эффективно решить с помощью метода исключения Гаусса , как только количество строк превышает количество столбцов. Некоторые дополнительные строки часто включаются, чтобы гарантировать, что в пустом пространстве нашей матрицы существует несколько решений, в случае, если первое решение дает тривиальное сравнение.
Большим преимуществом этой техники является то, что поиск отношений является до неприличия параллельным ; можно настроить большое количество компьютеров на поиск различных диапазонов значений x и попытку факторизации результирующего y . Только о найденных связях нужно сообщить в центральный компьютер, причем особой спешки это делать не стоит. Поисковым компьютерам даже не нужно доверять; сообщаемая связь может быть проверена с минимальными усилиями.
Существует множество разработок этой техники. Например, в дополнение к отношениям, в которых y полностью входит в факторную базу, вариант «большого простого числа» также собирает «частичные отношения», в которых y полностью учитывается, за исключением одного более крупного фактора. Второе частичное отношение с тем же большим коэффициентом можно умножить на первое, чтобы получить «полное отношение».
Примеры
[ редактировать ]Факторизовать 35
[ редактировать ]Берем n = 35 и находим, что
- .
Таким образом, мы учитываем
Факторизовать 1649
[ редактировать ]Используя n = 1649, как пример нахождения сравнения квадратов, составленных из произведений неквадратов (см. метод факторизации Диксона ), сначала получаем несколько сравнений
Из них первое и третье имеют в качестве факторов только маленькие простые числа, а их произведение имеет четную степень каждого маленького простого числа и, следовательно, представляет собой квадрат.
что дает равенство квадратов
Таким образом, использование значений 80 и 114 в качестве наших x и y дает коэффициенты
См. также
[ редактировать ]Ссылки
[ редактировать ]- Брессуд, Дэвид М. (1989). «8. Квадратное решето». Факторизация и тестирование на простоту (PDF) . Тексты для бакалавриата по математике. Спрингер-Верлаг. ISBN 0-387-97040-1 .
- Райзель, Ганс (1994). Простые числа и компьютерные методы факторизации . Прогресс в математике. Том. 126 (2-е изд.). Биркхаузер. ISBN 0-8176-3743-5 .
- Вагстафф, Сэмюэл С. младший (2013). Радость факторинга . Студенческая математическая библиотека. Том. 68. Провиденс, Род-Айленд: Американское математическое общество . стр. 195–202. ISBN 1-4704-1048-6 .