Мне нужно умножить несколько целых чисел цифр 1000s как можно более эффективно в Python. Числа читаются из файла.Понимание алгоритма Schönhage-Strassen (огромное целочисленное умножение)
Я пытаюсь реализовать алгоритм Schönhage-Strassen для целочисленного умножения, но я застрял в понимании определения и математики, за ним, в частности, Fast Fourier Transform.
Любая помощь, чтобы понять этот алгоритм, как практический пример или какой-то псевдокод, будет высоко оценена.
Один очень важный намек: не пытайтесь реализовать свой собственный БПФ, если вам действительно не нужно. Если он доступен для python, попробуйте использовать FFTW для своих вычислений. Это намного превосходит все, что вы когда-либо могли бы реализовать самостоятельно. Простой БПФ не так уж и трудный, но сложная часть получает его быстро, особенно если числа, которые вы хрустите, не обладают полномочиями двух. – LiKao
@LiKao: Schönhage-Strassen обычно реализуется с использованием вектора фиксированного размера целых чисел произвольного размера и теоретического преобразования чисел, тогда как БПФ, реализованные такими пакетами, как FFTW, используют элементы с плавающей запятой и фиксированным размером - поэтому они не являются на самом деле очень полезно. –