Алгоритм Шенхаге

Тема в разделе "WASM.A&O", создана пользователем Perec, 13 дек 2007.

  1. Perec

    Perec New Member

    Публикаций:
    0
    Регистрация:
    13 дек 2007
    Сообщения:
    7
    Привет!!! Помогите мне в реализации алгоритма быстрого умножения длинных чисел шенхаге!!
     
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    Perec
    первый раз о таком слышу, вроде быстрей алгоса Карацубы нет.
     
  3. Spiteful

    Spiteful New Member

    Публикаций:
    0
    Регистрация:
    24 янв 2004
    Сообщения:
    33
    можно покопать GMP, afaik - там есть реализация этого метода, так же в гугл легко выдает способы модификации этого метода.
     
  4. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Perec
    Была похожая тема "WASM.A&O-->Хотелось бы увидеть реализацию простого алгоритма"
     
  5. maxdiver

    maxdiver Max

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    308
    Адрес:
    Саратов
    UbIvItS
    Преобразованием Фурье вроде намного быстрей. Правда, я пока с этим не разбирался, руки не дойдут.
     
  6. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    maxdiver
    приближённые вычисления использовать далеко не всегда разумно.
     
  7. Spiteful

    Spiteful New Member

    Публикаций:
    0
    Регистрация:
    24 янв 2004
    Сообщения:
    33
    UbIvItS
    ты почитай про методы Тоома-Кука, Шенхаге-Штрассена, у того же Кнута :)
     
  8. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    Spiteful
    какой том? - у меня не все....
     
  9. Spiteful

    Spiteful New Member

    Публикаций:
    0
    Регистрация:
    24 янв 2004
    Сообщения:
    33
    2 том, раздел "Насколько быстро можно выполнять умножение"
     
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    Spiteful
    сэнкс
     
  11. halyavin

    halyavin New Member

    Публикаций:
    0
    Регистрация:
    13 май 2005
    Сообщения:
    252
    Адрес:
    Russia
    Преобразование Фурье бывает не только над действительными/комплексными числами, но и над кольцами. Для умножения чисел можно использовать оба преобразования Фурье. Что из них будет быстрее - не знаю.
     
  12. maxdiver

    maxdiver Max

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    308
    Адрес:
    Саратов
    В Кормене описывается умножение с помощью БПФ без потери точности. За N logN, естественно.
     
  13. Perec

    Perec New Member

    Публикаций:
    0
    Регистрация:
    13 дек 2007
    Сообщения:
    7
    Этот метод основан на "Китайской теореме об остатках". Мне вообще надо реализовать этот метод в Delphi. Я застрял на востановлении по алгоритму Ньютона! помогите люди добрые!! :)
     
  14. Perec

    Perec New Member

    Публикаций:
    0
    Регистрация:
    13 дек 2007
    Сообщения:
    7
    Spiteful
    А где найти это "GMP, afaik"?
     
  15. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    для чисел больших 512 бит(570-571) бит какой будет наиболее быстрый алгоритм умножения и нахождения остатка?
    надо максимально быстро сделать операцию:
    а*б\с

    а,б,с - числа где то по 571 биту.
     
  16. Spiteful

    Spiteful New Member

    Публикаций:
    0
    Регистрация:
    24 янв 2004
    Сообщения:
    33
  17. maxdiver

    maxdiver Max

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    308
    Адрес:
    Саратов
    dead_body
    http://lists.boost.org/Archives/boost/2005/04/85368.php
    http://www.cs.nyu.edu/exact/doc/qmul.ps

    Хотя вот:
    http://www.cse.psu.edu/~furer/Papers/mult.pdf

    В общем, видимо, лучше всего Шенхаге-Штрассена.
     
  18. Perec

    Perec New Member

    Публикаций:
    0
    Регистрация:
    13 дек 2007
    Сообщения:
    7
    maxdiver
    За это большое спасибо. А для Delphi нет что нибудь на подобие?
     
  19. CreatorCray

    CreatorCray Member

    Публикаций:
    0
    Регистрация:
    5 авг 2006
    Сообщения:
    201
    Не бог весть какой источник, но...

    http://en.wikipedia.org/wiki/Sch%C3%B6nhage-Strassen_algorithm

    In practice the Schönhage-Strassen algorithm starts to outperform older methods such as Karatsuba and Toom-Cook multiplication for numbers beyond 2^(2^15) to 2^(2^17) (10,000 to 40,000 decimal digits).

    Надоб на практике проверить как оно на самом деле
     
  20. dead_body

    dead_body wasm.ru

    Публикаций:
    0
    Регистрация:
    3 сен 2004
    Сообщения:
    603
    Адрес:
    Украина;г.Харьков;г.Н.Каховка
    если кто то найдет реализиции данных алгона асме, прошу дать знать.