Angenommen , wir haben Polynome vom Grad höchstens n , n > m , so dass die Gesamtzahl von Nicht - Null - Koeffizienten n ( das heißt, sind die Polynome sparse). Ich interessiere mich für einen effizienten Algorithmus zur Berechnung des Polynoms:
Da dieses Polynom einen Grad von höchstens , ist sowohl die Eingangs- als auch die Ausgangsgröße O ( n ) . Im Fall m = 1 können wir das Ergebnis mit der FFT in der Zeit O ( n log n ) berechnen . Kann dies für jedes m < n durchgeführt werden ? Wenn es einen Unterschied macht, interessiert mich der Sonderfall, bei dem die Koeffizienten 0 und 1 sind und die Berechnung über die ganzen Zahlen erfolgen sollte.
Aktualisieren. Ich erkannte, dass eine schnelle Lösung für das oben Genannte Fortschritte in der schnellen Matrixmultiplikation implizieren würde. Insbesondere wenn , dann können wir abgelesen eine i k b k j als der Koeffizient von x i + n j in p k ( x ) . Somit Berechnen p k ( x ) 2 entsprichtBerechnen eines äußeren Produkt aus zwei Vektoren, und Berechnen der Summe Σ k p k ( x ) 2 entspricht einem Matrixproduktberechnen. Wenn es eine Lösung unter VerwendungZeit ist , f ( n , m ) zum Berechnen von Σ k p k ( x ) 2 , dann können wir zwei Multiplizier n -by- n Matrizen inZeit f ( n 2 , n , was bedeutet, dass f ( n , m ) = O ( n log n ) für m ≤ n einen größeren Durchbruch erfordern würde. Aber f ( n , m ) = n & ohgr; / 2 , wobei & ohgr ; der aktuelle Exponent der Matrixmultiplikation ist, könnte möglich sein. Ideen, irgendjemand?