... не помню контекста методов факторизации
Давайте на примере. Возьмем
.
При
имеем
Далее.
Три шага. Я бы не стал выкладывать, но уж больно резво работает. Почему
вычисляется подобным образом - об этом позже, но смысл в том, чтобы по одному из простых модулей оно попало в цикл, тогда на некотором шаге проявит себя. В
-aлгоритме, если не ошибаюсь, для сравнения берется не только
, но и последующие. Оно конечно надежней, но...
... является общим алгебраическим соотношением, мало зависящим от поля
Это вряд ли. Возьмем хотя бы
. По
имеем
А если взять
, то
...
Тут
, и получаем строго единицу. Кроме того
... и т.д. Для любого
верно
. Малую ТФ не напоминает? Я собственно с Этими циклами возился, там очень интересно получается. Для простых вида
- строгие замкнутые кольца кв. вычетов, хвостик
-петли может состоять только из одного невычета. Для простого вида
всё иначе выглядит. Там кольца с "притоками" (необратимые элементы из Вашего поста, суть все возможные хвостики
-петли для заданного цикла), причем притоки ветвятся. Это тоже вычеты, невычеты только в начале притоков (истоки). Какие соляристические структуры могут быть для составного числа с большим кол-вом делителей - даже не представить. Там ведь к одному вычету могут вести сколько угодно квадратов. То есть деревья. Где бы прогу такую заполучить? Потом бросилось в глаза то обстоятельство, что по заданному модулю "длина притоков" - величина постоянная. Даже для разных циклов, но это надо проверять. И далее. Если
- вычет, то
- тоже вычет. Если
и
- члены одного цикла, то этот бублик можно есть с двух концов, т.е. строить две последовательности от обратных по модулю начальных членов, причем для всех
будет выполняться
. Запишем это для удобства дробями:
Если
, то
и
(вот тут вспомнилось о факторизации: экономия). Точно также из двух утверждений
и
можно проверять только одно, но последовательностей все-таки две. Как бы это объехать? Утверждение
равносилно
(замена
). Соответственно
. Если верно одно из них, то
.
То есть для эффективного сравнения достаточно суммарной последовательности. Запишем теперь
В сумме получаем
или
Отсюда и тема возникла. Расчет для 1-го члена - просто наименьшее число
вида
(чтобы понадежней оказаться в цикле). Наверное я опять Вас запутал. Ну, из примера всё видно, нужно на практике попробовать.