Multiplicar n polinomios de grado 1

35

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.(a1x+b1)××(anx+bn)

Puede hacer tiempo aplicando FFT en forma de árbol. ¿Puedes hacer ?O(nlog2n)O(nlogn)

Mihai
fuente
Buena pregunta, parece que he visto algo similar en el blog de alguien, pero no puedo recordar dónde estaba.
Grigory Yaroslavtsev
3
Observación menor: sabemos (trabajando sobre Q, por ejemplo) las n raíces , por lo que el problema es equivalente a: Dado , calcule el polinomio . (Supongo.)αi=bi/aiα1,,αn(xα1)(xαn)
ShreevatsaR
1
¿Puedes dar una referencia al resultado ? O(nlog2n)
Mohammad Al-Turkistany
2
Como @Suresh mencionó, es un enfoque simple de divide y vencerás. Se puede generalizar para que n polys pueda tener diferentes grados , en cuyo caso se puede dividir en forma de árbol Huffman. Ver Strassen: La complejidad computacional de las fracciones continuas. di
Zeyu
1
¿Podemos calcular la convolución de vectores de dimensión constante 2 en el tiempo ? nO(nlogn)
Kaveh

Respuestas:

7

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.

Por Vognsen
fuente
3
Por otro lado, ¡un límite inferior para un problema tan natural parece igualmente inverosímil! Ω(nlog2n)
Jeffε
¡Cierto! Desearía tener una respuesta más definitiva. Es muy interesante.
Por Vognsen
¡Recompensa otorgada!
Jeffε
@PerVognsen: ¿Puede dar una referencia para este punto de vista en relación con: simetrías de polígonos / simetría entrelazada? O si esto es una observación propia, ¿podría ampliarlo un poco más?
Joshua Grochow