Supongamos que tenemos polinomios de grado como máximo , , de modo que el número total de coeficientes distintos de cero es (es decir, los polinomios son escasos). Estoy interesado en un algoritmo eficiente para calcular el polinomio:
Como este polinomio tiene un grado máximo de , tanto el tamaño de entrada como el de salida es . En el caso , podemos calcular el resultado usando FFT en el tiempo . ¿Se puede hacer esto para cualquier ? Si hace alguna diferencia, estoy interesado en el caso especial donde los coeficientes son 0 y 1, y el cálculo debe hacerse sobre los enteros.
Actualizar. Me di cuenta de que una solución rápida para lo anterior implicaría avances en la multiplicación rápida de matrices. En particular, si entonces puede leer como el coeficiente de en . Por lo tanto, calcular corresponde a calcular un producto externo de dos vectores, y calcular la suma corresponde a calcular un producto matricial. Si hay una solución usando el tiempo para calcular entonces podemos multiplicar dosmatrices -by- en el tiempo , lo que significa que f ( n , m ) = O ( n log n ) para m ≤ n requeriría un avance importante. Pero f ( n , m ) = n ω / 2 , donde ω es el exponente actual de la multiplicación de matrices, podría ser posible. Ideas, alguien?