Иллюстрированный самоучитель по Mathematica 5

Функция FactorIntegerECM (попытка факторизации больших чисел Мерсенна)

Для этого разделим 5011-е число Мерсенна Мт] на найденный делитель.

Иллюстрированный самоучитель по Mathematica 5 › Арифметика: разложение целых чисел на простые множители › Функция FactorIntegerECM (попытка факторизации больших чисел Мерсенна)

Но простое ли число nl. Давайте проверим.

PrimeQ[n]
False

Нет. В таком случае к нему можно применить функцию FactorIntegerECM. Но на этот раз результата не дождаться даже за несколько часов… Конечно же, функция FactorIntegerECM чрезвычайно эффективна, но всех проблем теории чисел она решить не может…

Функция FactorIntegerECM: поиск делителей М13-го числа Мерсенна М8191= М13

Но все же ситуация не столь безнадежна. Некоторые специалисты по теории чисел, например, долгое время считали, что если число Мерсенна Mn, является простым, то и число МMn тоже простое. Это действительно так для четырех наименьших простых чисел Мерсенна. Но лишь в 1953 году Д. Ю. Уиллер показал, что для пятого простого числа Мерсенна это не так. Пятое простое число Мерсенна М13 = 8191, однако число A/W], имеющее 2466 цифр, является составным. Тем не менее в течение более чем десятилетия после.открытия Уиллера не удалось найти ни одного его простого делителя. С помощью функции FactorIntegerECM это можно сделать за считанные минуты (само число Мм в распечатке опущено).

MM13 = 2 ^ 8191 - 1
m = FactorIntegerECM[MM13]
338193759479

С другой стороны, давно было известно, что М17и M19 – простые числа. Кроме того, еще в 1957 году было доказано, что MM17 делится на n1 = 1768(2'7-1)+1 = 231733529, а ММn – на n2= 120(2|9-1)+1 =62914441. Тем не менее функция FactorIntegerECM, не говоря уже о функции FactorInteger, не может обнаружить ни одного нетривиального делителя МM17 или MM19. Интеллект человека сильнее. Мораль: Хотя всех проблем теории чисел решить не может даже функция FactorlntegerECM, воспринимать это следует без излишнего пессимизма…

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.