Алгоритм Шьонхаге — Штрассена: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Вилучено вміст Додано вміст
Створено шляхом перекладу сторінки «Алгоритм Шёнхаге — Штрассена»
(Немає відмінностей)

Версія за 09:12, 28 травня 2023

Метод множення Шенхаге — Штрассена (англ. Schönhage–Strassen algorithm) — алгоритм множення великих цілих чисел, заснований на швидкому перетворенні Фур'є, вимагає ) бітових операцій, де - кількість двійкових цифр у добутку[1].

Винайшли Арнольд Шенхаге і Фолькер Штрассен 1971 року[2].

Фактично - метод множення многочленів від однієї змінної; перетворюється на алгоритм множення чисел, якщо ці числа подати як многочлени від основи системи числення, а після отримання результату зробити перенесення через розряди. Наприклад, для перемноження 157 і 171 (у десятковій системі числення) виконуються такі операції:

  • подається як , а - як , де ;
  • перемножуються многочлени і за допомогою швидкого перетворення Фур'є, результат - ;
  • застосовуються перенесення через розряди: , тобто .

Також алгоритм дозволяє множити за модулем чисел Ферма , якщо застосувати двійкову систему числення.

Метод вважали асимптотично найшвидшим методом від 1971 до 2007 року, до винайдення алгоритму Фюрера з кращою оцінкою складності[3]. На практиці метод Шенхаге — Штрассена починає перевершувати раніші класичні методи, такі як множення Карацуби та алгоритм Тоома — Кука (узагальнення методу Карацуби), починаючи від цілих чисел порядку (Від 10 000 до 40 000 десяткових знаків)[4][5].

Примітки

  1. Bürgisser P., Clausen M., Shokrollahi A. Algebraic Complexity Theory. — Berlin : Springer-Verlag, 1997. — 618 p. — ISBN 3-540-60582-7..
  2. Schönhage A., Strassen V. Schnelle Multiplikation großer Zahlen // Computing. — 1971. — № 7 (14 травня). — С. 281—292.
  3. Fürer M. Faster integer multiplication // STOC 2007 Proceedings. — 2007. — 14 травня. — С. 57—66. Архівовано з джерела 25 квітня 2013.
  4. Meter van R., Itoh K. M. Fast quantum modular exponentiation // Physical Review A. — 2005. — Т. 71 (14 травня).
  5. Coronado García L. C. Can Schönhage multiplication speed up the RSA encryption or decryption? // University of Technology. — Darmstadt, 2005. — 14 травня.