Рациональное сито
В математике рациональное решето представляет собой общий алгоритм разложения целых чисел на простые множители . Это частный случай решета общего числового поля . Хотя он менее эффективен, чем общий алгоритм, он концептуально проще. Это служит полезным первым шагом в понимании того, как работает сито общего числового поля.
Метод
[ редактировать ]Предположим, мы пытаемся факторизовать составное число n . Мы выбираем границу B и определяем факторную базу мы назовем P ), набор всех простых чисел, меньших или равных B. ( которую Далее мы ищем положительные целые числа z и n такие, что z и z+n являются B - гладкими , т. е. все их простые множители находятся в P . Поэтому мы можем написать для подходящих показателей ,
и аналогично, для подходящего , у нас есть
.
Но и конгруэнтны по модулю , и поэтому каждое такое целое число z , которое мы находим, дает мультипликативное отношение (mod n ) между элементами P , т.е.
(где a i и b i — неотрицательные целые числа.)
Когда мы сгенерировали достаточное количество этих отношений (обычно достаточно, чтобы число отношений было на несколько раз больше размера P ), мы можем использовать методы линейной алгебры , чтобы перемножить эти различные отношения таким образом, чтобы показатели степени все простые числа четные. Это даст нам сравнение квадратов вида a 2 ≡b 2 (mod n ), который можно превратить в факторизацию n = НОД ( a - b , n ) × НОД( a + b , n ). Эта факторизация может оказаться тривиальной (т. е. n = n ×1), и в этом случае нам придется повторить попытку с другой комбинацией отношений; но если повезет, мы получим нетривиальную пару множителей n , и алгоритм завершится.
Пример
[ редактировать ]Мы разложим целое число n = 187, используя рациональное решето. Мы произвольно возьмем значение B =7, дав факторную базу P = {2,3,5,7}. Первый шаг — проверить n на делимость на каждый из членов P ; очевидно, что если n делится на одно из этих простых чисел, то мы уже закончили. Однако 187 не делится на 2, 3, 5 или 7. Далее мы ищем подходящие значения z ; первые несколько — 2, 5, 9 и 56. Четыре подходящих значения z дают четыре мультипликативных отношения (по модулю 187):
( 1 ) |
( 2 ) |
( 3 ) |
( 4 ) |
Сейчас существует несколько существенно разных способов объединить их и получить в итоге четные показатели. Например,
- ( 1 )×( 4 ): после их умножения и исключения общего множителя 7 (что мы можем сделать, поскольку 7, будучи членом P , уже определено как взаимно простое с n [1] ), это уменьшается до 2 4 ≡ 3 8 (мод . n ), или 4 2 ≡ 81 2 (мод. н ). Результирующая факторизация равна 187 = НОД(81-4,187) × НОД(81+4,187) = 11×17.
Альтернативно, уравнение ( 3 ) уже находится в правильной форме:
- ( 3 ): Здесь написано 3 2 ≡ 14 2 (mod n ), что дает факторизацию 187 = НОД(14-3,187) × НОД(14+3,187) = 11×17.
Ограничения алгоритма
[ редактировать ]Как и решето общего числового поля, рациональное решето не может факторизовать числа вида p м , где p — простое число, а m — целое число. Однако это не такая уж большая проблема: такие числа статистически редки, и, более того, существует простой и быстрый процесс проверки того, имеет ли данное число такую форму. Вероятно, самый элегантный метод — проверить, справедливо для любого используя целочисленную версию метода Ньютона для извлечения корня. [2]
Самая большая проблема — найти достаточное количество z таких, чтобы и z , и z + n были B -гладкими. Для любого заданного B доля чисел, которые являются B -гладкими, быстро уменьшается с размером числа. Поэтому, если n велико (скажем, сто цифр), будет сложно или невозможно найти достаточное количество z для работы алгоритма. Преимущество решета общего числового поля в том, что нужно искать только гладкие числа порядка n. 1/ д для некоторого положительного целого числа d (обычно 3 или 5), а не порядка n, как требуется здесь.
Ссылки
[ редактировать ]- А. К. Ленстра, Х. В. Ленстра-младший, М. С. Манасс и Дж. М. Поллард, Факторизация девятого числа Ферма, Math. Комп. 61 (1993), 319-349. Доступно по адресу [2] .
- А.К. Ленстра, Х.В. Ленстра-младший (ред.) Развитие сита числового поля, Конспект лекций по математике, 1554 г., Springer-Verlag, Нью-Йорк, 1993.
Сноски
[ редактировать ]- ^ Обратите внимание, что общие факторы, как правило, не могут быть сокращены при сравнении, но могут в этом случае , поскольку все простые числа факторной базы должны быть взаимно простыми с n , как упоминалось выше. См. модульное мультипликативное обратное .
- ^ Р. Крэндалл и Дж. Пападопулос, О реализации тестов на простоту класса AKS, доступно по адресу [1]