Suponha que tenhamos polinômios de grau no máximo , , de modo que o número total de coeficientes diferentes de zero seja (isto é, os polinômios são esparsos). Estou interessado em um algoritmo eficiente para calcular o polinômio: n n > m n
Como esse polinômio tem grau no máximo , o tamanho da entrada e da saída é . No caso , podemos calcular o resultado usando FFT no tempo . Isso pode ser feito para qualquer ? Se isso faz alguma diferença, estou interessado no caso especial em que os coeficientes são 0 e 1, e o cálculo deve ser feito sobre os números inteiros.O ( n ) m = 1 O ( n log n ) m < n
Atualizar. Percebi que uma solução rápida para o exposto implicaria avanços na rápida multiplicação de matrizes. Em particular, se então podemos ler como o coeficiente de em . Assim, calcular corresponde ao cálculo de um produto externo de dois vetores e calcular a soma corresponde ao cálculo de um produto matricial. Se houver uma solução usando o tempo a computação , em seguida, que pode multiplicar dois -by- matrizes em tempo um i k b k j x i + n j P k ( x ) 2 P k ( x ) 2 ∑ k p k ( x ) 2 f (Σ k p k ( X ) 2 n n f ( n 2 , n ), o que significa que para exigiria uma grande descoberta. Mas , em que é o expoente atual da multiplicação de matrizes, pode ser possível. Idéias, alguém?m ≤ n f ( n , m ) = n ω / 2 ω