Supponiamo di avere polinomi di grado al massimo , , in modo tale che il numero totale di coefficienti diversi da zero sia (cioè i polinomi sono scarsi). Sono interessato a un algoritmo efficiente per il calcolo del polinomio: n n > m n
Poiché questo polinomio ha un grado massimo di , sia la dimensione di input che di output è . Nel caso possiamo calcolare il risultato usando FFT nel tempo . Questo può essere fatto per qualsiasi ? Se fa qualche differenza, sono interessato al caso speciale in cui i coefficienti sono 0 e 1 e il calcolo dovrebbe essere effettuato su numeri interi.O ( n ) m = 1 O ( n log n ) m < n
Aggiornare. Mi sono reso conto che una soluzione rapida per quanto sopra avrebbe comportato progressi nella rapida moltiplicazione della matrice. In particolare, se allora possiamo leggere come coefficiente di in . Pertanto, calcolare corrisponde al calcolo di un prodotto esterno di due vettori e il calcolo della somma corrisponde al calcolo di un prodotto matrice. Se esiste una soluzione che utilizza il tempo per calcolare allora possiamo moltiplicare due -by- matrici nel tempo a i k b k j x i + n j p k ( x n , m ) ∑p k ( x ) 2 ∑ k p k ( x ) 2 f ( n n f ( n 2 , n ), il che significa che per richiederebbe un importante passo avanti. Ma , dove è l'attuale esponente della moltiplicazione di matrici, potrebbe essere possibile. Idee, qualcuno?m ≤ n f ( n , m ) = n ω / 2 ω