powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ещё раз о тесте Ферма
25 сообщений из 283, страница 6 из 12
Ещё раз о тесте Ферма
    #39852409
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не буду спорить с википедией. Просто приведу исходник.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    /**
     * Returns true iff this BigInteger is a Lucas-Lehmer probable prime.
     *
     * The following assumptions are made:
     * This BigInteger is a positive, odd number.
     */
    private boolean passesLucasLehmer() {
        BigInteger thisPlusOne = this.add(ONE);

        // Step 1
        int d = 5;
        while (jacobiSymbol(d, this) != -1) {
            // 5, -7, 9, -11, ...
            d = (d < 0) ? Math.abs(d)+2 : -(d+2);
        }

        // Step 2
        BigInteger u = lucasLehmerSequence(d, thisPlusOne, this);

        // Step 3
        return u.mod(this).equals(ZERO);
    }
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852465
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут дело не в программе.

Главное:
какие чисел эта программа (тест Люка — Лемера) определила как простые?
(кроме чисел Мерсенна)
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852467
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кроме того, тест Люка — Лемера работает при использовании степени 2 у выбранного числа (и -1).

А как для произвольного числа определить эту степень 2 ?
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852497
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852537
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852554
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сорцам Люка параметризуется неким загадочным Символом Якоби.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852562
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я нарисую блок-схему. Для Геннадия и для себя тоже.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852587
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет в символе Якоби ничего загадочного. Это обобщение символа Лежандра на составные числа, и для простых чисел они совпадают.
Только вычисляют его (Якоби) не по определению, где нужно разложение на простые, а через квадратичный закон взаимности.
Для простого модуля символ Якоби позволяет определить, является ли какое-то число квадратичным вычетом по этому модулю, то есть существует ли квадратный корень из числа по модулю. (Например, 2 - квадратичный вычет по модулю 7, так как 3*3 mod 7 == 2)
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852678
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BarloneТестов много разных...
https://ru.wikipedia.org/wiki/Тест_Бейли_—_Померанца_—_Селфриджа_—_Уогстаффа А данный тест очень интересный.

Имеется два теста: тест Ферма и тест Люка (не тест Люка — Лемера).

С помощью каждого из этих тестов определяются все простые числа и ещё несколько составных чисел.
Причем, для каждого теста составные числа различные.
В вики:
"Мощность теста состоит в том, что не существует известных пересечений списков псевдопростых чисел Ферма и псевдопростых чисел Люка."

Осталось понять: для каких чисел тесты будут разными.
Если тесты разные, то число составное.

Поскольку привычно работать с тестом Ферма,
то сначала находится число, удовлетворяющее тесту Ферма,
а затем это число проверяется на тест Люка.

Далее осталось найти пример работы теста Люка.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852697
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Однако, интерес к этому тесту поубавился.

Числа Люка - Vn = { 2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123, ... } , это очень малая часть нечётных чисел.

Получается, что можно проверить только отдельные числа.

Кроме того, для очень больших чисел невозможно (нужно очень много времени) найти последовательность чисел Люка
- эти числа определяются от первого числа.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852809
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovПолучается, что можно проверить только отдельные числа.
Не так. Последовательность Люка используется для проверки произвольного числа.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852830
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BarloneGennadiy UsovПолучается, что можно проверить только отдельные числа.
Не так. Последовательность Люка используется для проверки произвольного числа.Имеется последовательность Люка:
Числа Люка - Vn = { 2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123, ... } ,

Следовательно, в эту последовательность не попадают числа 101, 103, и т.д.
То есть, не все числа можно проверить.

Или я ошибаюсь?
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852955
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Множество ненулевых остатков (вычетов) по модулю простого числа N - абелева группа порядка N-1. Что проверяет тест Ферма? Он проверяет, что порядок подгруппы, порожденной некоторым выбранным элементом, делит N-1. Когда он дает ложноположительный результат? Если N составное, то порядок группы будет φ(N). А порядок подгруппы, порожденной неким элементом, будет делителем φ(N). И тест Ферма сфейлится, когда этот делитель φ(N) окажется также и делителем N-1
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852958
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А такой вопрос:

есть простое число N, для которого получаем (N - 1) значений теста Ферма.
Эти числа различны или нет?
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852960
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме мультипликативной группы вычетов по модулю, можно сконструировать и всякие другие группы - матрицы (но она на Абелева - умножение матриц не коммутативно), полиномы, точки на эллиптической кривой , решения уравнения Пелля
Коэффициенты всех этих матриц, полиномов, … можно брать по модулю числа N. И можно несколькими способами сконструировать группу, порядок которой для простого N будет N+1. И вот тут я не совсем уверен, но кажется, тест Люка проверяет, что порядок некой подгруппы такой группы делит N+1.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852963
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovА такой вопрос:

есть простое число N, для которого получаем (N - 1) значений теста Ферма.
Эти числа различны или нет?Для простого N естественно все значения будут 1. Для составного будет 1, если порядок подгруппы делит N-1, и не 1, если не делит :)
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852968
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот смотрите: 21^64 % 65 == 1 - фейл, 65 = 5*13
Смотрим 21^1 % 65 == 21; 21^2 % 65 == 51; 21^3 % 65 == 31; 21^4 % 65 == 1; а дальше пойдет повтор - 21^5 % 65 == 21. То есть порядок подгруппы, порожденной 21, по модулю 65 равен 4. А 65-1 делится на 4. И тест фейлится.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852971
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное, я не так сформулировал задачу.

Имелось в виду числа от 2^1 % 65 до 2^64 % 65.
Это тоже группа?
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852973
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, да, φ(65) = 4 * 12 = 48. Кажется, всегда, когда для составного N НОД(φ(N), N-1) > 2 можно найти значение, на котором тест Ферма сфейлится. (Но это не точно, в смысле доказать я сейчас не смогу).
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852975
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovНаверное, я не так сформулировал задачу.

Имелось в виду числа от 2^1 % 65 до 2^64 % 65.
Это тоже группа?Ну так их же 4 всего разных.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852977
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, не то написал
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852978
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если числа от от 2^1 % 59 до 2^58 % 59,
то числа будут разные?
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852980
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для двойки (и любого другого числа по модулю 65) порядок группы будет каким-то делителем 48. Если этот делитель будет кратен 3, то он не делит 64, и тест Ферма покажет, что число составное. А если делитель не кратен трем, то в данном случае он будет также делителем 64.
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852982
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gennadiy UsovА если числа от от 2^1 % 59 до 2^58 % 59,
то числа будут разные? не обязательно
...
Рейтинг: 0 / 0
Ещё раз о тесте Ферма
    #39852983
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Порядок подгруппы может оказаться делителем N-1
...
Рейтинг: 0 / 0
25 сообщений из 283, страница 6 из 12
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ещё раз о тесте Ферма
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]