Тест Миллера-Рабина — различия между версиями
(→Тест Леманна) |
|||
Строка 20: | Строка 20: | ||
#<tex>n</tex> не делится на <tex>a</tex> | #<tex>n</tex> не делится на <tex>a</tex> | ||
#<tex>a^d\equiv 1\pmod n<tex> или существует целое <tex>r</tex>, такое что <tex>(a^d)^{2^r}=-1\pmod n</tex> | #<tex>a^d\equiv 1\pmod n<tex> или существует целое <tex>r</tex>, такое что <tex>(a^d)^{2^r}=-1\pmod n</tex> | ||
+ | }} | ||
[[Категория: Теория чисел]] | [[Категория: Теория чисел]] |
Версия 06:41, 14 мая 2011
Эта статья находится в разработке!
Можно существенно улучшить тест Ферма, заметив, что если
— простое нечетное, то для есть только два квадратных корня по модулю и . Таким образом, квадратный корень из равен . Если опять нечетно, то мы можем снова извлечь корень и так далее. Первый вариант алгоритма предлагает использовать только одно деление:Тест Леманна
Если для какого-либо целого числа
меньшего не выполняется условие , то число — составное. Если это условие выполняется, то число — возможно простое, причем вероятность ошибки не превышает .Этот тест можно естественным образом улучшить, если извлекать корень по модулю не один раз, а столько, сколько получится.
Тест Рабина-Миллера
Запишем
в виде , где нечетно, а неотрицательно: называется сильно возможно простым по основанию , если выполняется одно из двух условий:
Определение: |
Пусть
| — нечетное число, большее . Число однозначно представляется в виде , где четно. Целое число называется свидетелем простоты числа , если выполняется два условия: