El problema es calcular el polinomio . Suponga que todos los coeficientes caben en una palabra de máquina, es decir, pueden manipularse en unidades de tiempo.
Puede hacer tiempo aplicando FFT en forma de árbol. ¿Puedes hacer ?
El problema es calcular el polinomio . Suponga que todos los coeficientes caben en una palabra de máquina, es decir, pueden manipularse en unidades de tiempo.
Puede hacer tiempo aplicando FFT en forma de árbol. ¿Puedes hacer ?
Respuestas:
Advertencia: esta aún no es una respuesta completa. Si los argumentos de plausibilidad te incomodan, deja de leer.
Consideraré una variante donde queremos multiplicar (x - a_1) ... (x - a_n) sobre los números complejos.
El problema es dual para evaluar un polinomio en n puntos. Sabemos que esto se puede hacer de manera inteligente en O (n log n) cuando los puntos son la enésima raíz de la unidad. Esto aprovecha de manera esencial las simetrías de los polígonos regulares que subyacen a la Transformada rápida de Fourier. Esa transformación viene en dos formas, convencionalmente llamadas decimación en el tiempo y decimación en la frecuencia. En la raíz dos se basan en un par dual de simetrías de polígonos regulares de lados pares: la simetría entrelazada (un hexágono regular consiste en dos triángulos equiláteros entrelazados) y la simetría de despliegue del ventilador (corta un hexágono regular por la mitad y despliega las piezas como ventiladores en triángulos equiláteros).
Desde esta perspectiva, parece muy poco plausible que exista un algoritmo O (n log n) para un conjunto arbitrario de n puntos sin simetrías especiales. Implicaría que no hay nada algorítmicamente excepcional sobre los polígonos regulares en comparación con conjuntos aleatorios de puntos en el plano complejo.