Multiplier n polynômes de degré 1

35

Le problème est de calculer le polynôme . Supposons que tous les coefficients tiennent dans un mot machine, c’est-à-dire qu’ils puissent être manipulés dans le temps unitaire.(a1x+b1)××(anx+bn)

Vous pouvez faire fois en appliquant la FFT sous forme d’arbre. Pouvez-vous faire ?O(nlog2n)O(nlogn)

Mihai
la source
Belle question, on dirait que j'ai vu quelque chose de similaire dans le blog de quelqu'un, mais je ne me souviens pas de l'endroit où il se trouvait.
Grigory Yaroslavtsev
3
Observation mineure: nous connaissons (travaillant sur Q, disons) les n racines , le problème est donc équivalent à: Étant donné , calcule le polynôme . (Je suppose.)αi=bi/aiα1,,αn(xα1)(xαn)
ShreevatsaR
1
Pouvez-vous donner une référence au résultat ? O(nlog2n)
Mohammad Al-Turkistany
2
Comme @Suresh l'a mentionné, il s'agit d'une approche simple consistant à diviser pour mieux régner. Il peut être généralisé de sorte que n polys puisse avoir différents degrés , auquel cas vous pouvez diviser de la manière arborescente de Huffman. Voir Strassen: La complexité de calcul des fractions continues. di
Zeyu
1
Peut-on calculer la convolution de vecteurs de dimension constante 2 dans le temps O ( n log n ) ? nO(nlogn)
Kaveh

Réponses:

7

Attention: Ce n'est pas encore une réponse complète. Si les arguments de plausibilité vous mettent mal à l'aise, arrêtez de lire.

Je considérerai une variante où nous voulons multiplier (x - a_1) ... (x - a_n) sur les nombres complexes.

Le problème est double pour évaluer un polynôme à n points. Nous savons que cela peut être fait intelligemment en un temps O (n log n) où les points se trouvent être les nièmes racines de l’unité. Cela tire un avantage essentiel des symétries des polygones réguliers qui sous-tendent la transformation de Fourier rapide. Cette transformation se présente sous deux formes, classiquement appelées décimation dans le temps et décimation dans la fréquence. Dans la deuxième base, ils s'appuient sur une double paire de symétries de polygones réguliers de côtés égaux: la symétrie imbriquée (un hexagone régulier composé de deux triangles équilatéraux imbriqués) et le symétrie déployée (découper un hexagone régulier en deux et déplier les pièces comme des ventilateurs). en triangles équilatéraux).

De ce point de vue, il semble hautement invraisemblable qu'un algorithme O (n log n) existerait pour un ensemble arbitraire de n points sans symétrie particulière. Cela impliquerait qu'il n'y a rien d'algorithme exceptionnel entre les polygones réguliers et les ensembles aléatoires de points dans le plan complexe.

Per Vognsen
la source
3
D'autre part, une borne inférieure à pour un problème aussi naturel semble également invraisemblable! Ω(nlog2n)
Jeffε
Vrai! J'aimerais avoir une réponse plus définitive. C'est très intéressant.
Per Vognsen le
Bounty attribué!
Jeffε
@ PerVognsen: Pouvez-vous donner une référence à ce point de vue sur les symétries de polygones / symétrie imbriquée? Ou s'il s'agit de votre propre observation, pourriez-vous en dire un peu plus?
Joshua Grochow