Jump to content

Алгоритм Чиполлы

В вычислительной теории чисел алгоритм Чиполлы представляет собой метод решения сравнения формы

где , поэтому n — квадрат x , и где является нечетным простым числом . Здесь обозначает конечное поле с элементы ; . Алгоритм , назван в честь Микеле Чиполлы , итальянского математика открывшего его в 1907 году.

Помимо простых модулей, алгоритм Чиполлы также способен извлекать квадратные корни по модулю простых степеней. [ 1 ]

Алгоритм

[ редактировать ]

Входы:

  • , нечетное простое число,
  • , который является квадратом.

Выходы:

  • , удовлетворяя

Шаг 1 – найти такой, что это не квадрат. Не существует известного детерминированного алгоритма нахождения такого следующий метод проб и ошибок , но можно использовать . Просто выберите и вычислив символ Лежандра можно увидеть, является ли удовлетворяет условию. Шанс, что случайное удовлетворит это . С достаточно большой, речь идет о . [ 2 ] Таким образом, ожидаемое количество испытаний, прежде чем найти подходящего это около 2.

Шаг 2 — вычислить x , вычислив в пределах расширения поля . Этот x будет удовлетворять

Если , затем тоже держит. И поскольку p нечетно, . Поэтому всякий раз, когда найдено решение x , всегда есть второе решение, -x .

(Примечание: все элементы до второго шага считаются элементами и все элементы на втором этапе считаются элементами .)

Найдите все x такие, что

Прежде чем применять алгоритм, необходимо убедиться, что действительно квадрат в . Следовательно, символ Лежандра должно быть равно 1. Это можно вычислить с помощью критерия Эйлера : Это подтверждает, что 10 является квадратом, и, следовательно, алгоритм можно применить.

  • Шаг 1: Найдите такое , что это не квадрат. Как уже говорилось, это нужно делать методом проб и ошибок. Выбирать . Затем становится 7. Символ Лежандра должно быть -1. Опять же, это можно вычислить, используя критерий Эйлера: Так является подходящим выбором . для
  • Шаг 2. Вычисление в :

Так это решение, а также . Действительно,

Доказательство

[ редактировать ]

Первая часть доказательства состоит в проверке того, что действительно поле. Для простоты обозначений определяется как . Конечно, является квадратичным невычетом, поэтому квадратного корня из него нет. . Этот можно грубо рассматривать как аналог комплексного числа i . Арифметика полей совершенно очевидна. Дополнение определяется как

.

Умножение также определяется как обычно. Имея в виду, что , это становится

.

Теперь необходимо проверить свойства поля. свойства замыкания при сложении и умножении, ассоциативность , коммутативность и дистрибутивность Легко увидеть . Это связано с тем, что в этом случае поле чем-то напоминает поле комплексных чисел являющийся аналогом i ).
Аддитивное тождество или более формально : Позволять , затем

.

Мультипликативное тождество или более формально :

.

Единственное, что осталось для Быть полем — это существование аддитивных и мультипликативных обратных . Легко видеть, что аддитивная обратная является , который является элементом , потому что . Фактически, это аддитивные обратные элементы x и y . За то, что показали, что каждый ненулевой элемент имеет мультипликативную обратную, запишите и . Другими словами,

.

Итак, два равенства и должен держаться. Детализация дает выражения для и , а именно

,
.

Обратные элементы, которые показаны в выражениях и существуют, потому что все это элементы . Это завершает первую часть доказательства и показывает, что это поле.

Вторая и средняя часть доказательства показывает, что для каждого элемента . По определению, это не квадрат в . Тогда критерий Эйлера говорит, что

.

Таким образом . Это вместе с малой теоремой Ферма (которая гласит, что для всех ) и знание того, что в полях характеристики p уравнение держится, отношения, которые иногда называют мечтой первокурсника , показывают желаемый результат

.

Третья и последняя часть доказательства состоит в том, чтобы показать, что если , затем .
Вычислить

.

Обратите внимание, что это вычисление имело место в , так что это . Но с теоремой Лагранжа , утверждающей, что ненулевой полином степени n имеет не более n корней в любом поле K , и знанием того, что имеет 2 корня в , эти корни должны быть всеми корнями в . Просто было показано, что и являются корнями в , так должно быть так . [ 3 ]

Скорость

[ редактировать ]

После нахождения подходящего a количество операций, необходимых для алгоритма, равно умножения, суммы, где m — количество цифр в двоичном представлении числа p , а k — количество единиц в этом представлении. Чтобы найти методом проб и ошибок, ожидаемое количество вычислений символа Лежандра равно 2. Но может повезти с первой попытки, а может потребоваться и больше двух попыток. В поле , имеют место следующие два равенства

где известно заранее. Для этого вычисления требуется 4 умножения и 4 суммы.

где и . Для этой операции требуется 6 умножений и 4 суммы.

Предполагая, что (в случае , прямое вычисление намного быстрее) двоичное выражение имеет цифры, из которых k — единицы. Итак, для вычисления сила , необходимо использовать первую формулу раз и второй раз.

В этом смысле алгоритм Чиполлы лучше алгоритма Тонелли – Шэнкса тогда и только тогда, когда , с максимальная степень 2, которая делит . [ 4 ]

Основные модули мощности

[ редактировать ]

Согласно «Истории чисел» Диксона, следующая формула Чиполлы позволит найти квадратные корни по модулю степеней простых чисел: [ 5 ] [ 6 ]

где и
где , как в примере этой статьи

На примере статьи в вики мы видим, что приведенная выше формула действительно имеет квадратные корни по модулю простых степеней.

Как

Теперь решите с помощью:

Теперь создайте и (См. здесь код Mathematica, показывающий приведенное выше вычисление, помня что здесь происходит что-то близкое к сложной модульной арифметике)

Как таковой:

и

и окончательное уравнение:

какой ответ.
  1. ^ Диксон, Леонард Юджин (1919). История теории чисел . Том. 1. п. 218.
  2. ^ Р. Крэндалл, Простые числа К. Померанса: вычислительная перспектива Springer-Verlag, (2001) с. 157
  3. ^ « Алгоритм М. Бейкера Чиполлы для поиска квадратных корней по модулю p » (PDF) . Архивировано из оригинала (PDF) 25 марта 2017 г. Проверено 24 августа 2011 г.
  4. ^ Торнария, Гонсало (2002). «Квадратные корни по модулю П» . ЛАТИНЬ 2002: Теоретическая информатика . Конспекты лекций по информатике. Том. 2286. стр. 430–434. дои : 10.1007/3-540-45995-2_38 . ISBN  978-3-540-43400-9 .
  5. ^ «История теории чисел», том 1, Леонард Юджин Диксон, стр. 218, Chelsea Publishing, 1952 г. читать онлайн
  6. ^ Мишель Чиполла, Отчет Академии физико-математических наук. Неаполь, (3), 10 октября 1904 г., 144–150.

Источники

[ редактировать ]
  • Э. Бах, Алгоритмическая теория чисел Дж. О. Шаллита: эффективные алгоритмы, MIT Press, (1996)
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 65411f53e17e9caf8a7c2695b09993d3__1705600980
URL1:https://arc.ask3.ru/arc/aa/65/d3/65411f53e17e9caf8a7c2695b09993d3.html
Заголовок, (Title) документа по адресу, URL1:
Cipolla's algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)