2015-07-10 18 views
16

Sto tentando di eseguire una moltiplicazione di polinomi di grado 4096 utilizzando la classe ZZ_pEX da NTL. Tuttavia, restituisce l'errore "Polinomiale troppo grande per FFT", e non sono riuscito a trovare un modo per farlo funzionare (o anche qualcosa che potrebbe aiutare nella documentazione di NTL) ma un commento in una diapositiva che dice che può essere risolta (senza dire come!).Errore "Polinomiale troppo grande per FFT" su NTL

Qualcuno ha trovato una soluzione per questo?

+2

Puoi pubblicare il tuo codice, in modo che possiamo riprodurre il tuo errore? – Henrik

+0

il (collegamento alla) diapositiva con il commento è forse anche utile. – AbcAeffchen

+0

Questa è la diapositiva: http://wiki.sagemath.org/days4schedule?action=AttachFile&do=get&target=flint-talk.pdf –

risposta

2

È necessario ricompilare NTL con GMP, che fornisce le routine di libreria del pacchetto numero GNU Multiprecision. Quando sembra appropriato, questo pacchetto utilizza hack molto belli, ad es. FFT, per l'aritmetica bignum.

Ecco, di seguito "Edilizia e usando NTL con le GMP" sono i passaggi dettagliati che è necessario seguire al fine di compilare NTL con GMP: http://www.shoup.net/ntl/doc/tour-gmp.html

Buon divertimento!

+0

Sì, l'ho provato ma non ha funzionato. Sto ancora ricevendo lo stesso errore. –

+0

Ci scusiamo per aver chiesto prima quelle "domande standard", prima di immergerci più a fondo, ma quale versione di GMP usi? – Kuno

+0

Ho avuto problemi simili l'anno scorso quando eseguivo calcoli su polinomi ancora più grandi ... Alla fine, l'uso di GMP poteva anche ottimizzare il tempo di calcolo come mostrato qui (http://www.cs.berkeley.edu/~ Fateman/documenti/polysbyGMP.pdf). – Kuno

Problemi correlati