Ho bisogno di moltiplicare più lunghe interi di 1000 cifre nel modo più efficiente possibile in Python. I numeri sono letti da un file.Comprendere l'algoritmo di Schönhage-Strassen (enorme moltiplicazione di interi)
Sto cercando di implementare l'algoritmo Schönhage-Strassen per la moltiplicazione dell'intero, ma sono bloccato a comprendere la definizione e la matematica dietro di esso, in particolare la trasformata di Fourier veloce.
Qualsiasi aiuto per capire questo algoritmo, come un esempio pratico o qualche pseudo-codice sarebbe molto apprezzato.
Un suggerimento molto importante: non tentare di implementare il proprio FFT a meno che non sia necessario. Se è disponibile per Python prova a usare FFTW per il tuo calcolo. Supererà di gran lunga qualsiasi cosa tu possa mai sognare di implementare te stesso. Una semplice FFT non è così difficile, ma la parte difficile è farlo in fretta, soprattutto se i numeri che stai scricchiolando non sono potenze di due. – LiKao
@LiKao: Schönhage-Strassen viene normalmente implementato utilizzando un vettore di dimensioni fisse di numeri interi arbitrari e la Trasformata teoretica numerica, mentre gli FFT implementati da pacchetti come FFTW utilizzano elementi a virgola mobile ea dimensione fissa, quindi non sono in realtà molto utile. –