Re: Деление длинных чисел методом Ньютона

From
Илья Кантор (2:5020/175.2)
To
Nick Kovaliov
Date
2002-10-30T15:12:49Z
Area
RU.ALGORITHMS
From: "Илья Кантор" <ilia@manual.ru>

Wed Oct 30 2002 14:09, Nick Kovaliov wrote to Илья Кантор:

NK> один столбиком, другой методом Ньютона.

ИК>> Да, именно это и пишу ;)
ИК>> Умножение уже есть через БПФ.
ИК>> По 8 миллионов цифр перемножает ;)

 NK> Если делать преобразование Фурье в конечных полях
 NK> (в кольцах Z/Zn, n = 2^q я пытался копать, но нифига),
 NK> то должно получиться быстрее, чем у тебя на сайте.
Неправда. Будет медленнее. Модулярная арифметика, однако.. И реализовывать
забодаешься wide NTT.

Кстати, на сайте все дико тормозит ;)

NK> Жалко только, что на практике хорошо оптимизированный столбик
NK> будет делать этот способ до < 4096 бит приблизительно.
Нормальный столбик выигрывает у простого Real FFT до 1024 цифр :(
А ежели все оптимизировать - код уродский получается.

NK> Ежели найдёшь, как быстро вычислять по модулю
NK> 2^n - 1, или 2^n + 1 (ну или по модулю какого-нить простого числа),
NK> тогда можно сделать и Фурье над конечными полями очень быстро.
Копай NTT, Shonhage-Shtrassen. Конкретнее, wide NTT.. Там, увы, все не так
просто ;(

ИК>> Читаю Numerical Recipes..
ИК>> Там используется какая-то странная добавка к длинам:
ИК>> #define MACC 6.
ИК>> Интересно, что это такое ?

NK> Тупо в гугле (искал Numerical Recipes MACC)
NK> наткнулся на фортрановский исходник, вот частичка -

NK> Больше ничего не нашёл ...
NK> Да и исходник был про какую-то интерполяцию ...
Да, не очень-то понятная книженция .. ;(


 NK>         ИК> NK> А в Кнуте ещё описана не
 NK>         ИК> NK> квадратическая, а кубическая итерация ...
 NK> Кого давить-то ? :)
 NK> Эээ ... нуу ... неужто я уже ничего не помню !? ... ;-\
Итерацию давить ;) Она кубическая, но в ней вычислений больше.
Невыгодно, однако..

    ИК>> Сложение и 2 умножения.. Вроде, все ;)
    ИК>> Ну и чуть всякой байды вроде
    ИК>> копирования и округления, но это не считается.

 NK> Ну ты ещё скажи, что тебя ТОЛЬКО
 NK> асимптотическая сложность интересует ... ;-)
Дык хочу 10000 цифр перемножать и выше. По всему выходит, что с 10000 Ньютон
должен зарулить обычное деление.

 NK> Я не понимаю, почему с такой маленькой точностью вычисляют,
 NK> но всё получается правильно ... есть где-нить описание почитать ?
Можно на пальцАх прикинуть, разве..

--- ifmail v.2.15dev5
 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)