Algorithm 用特定乘积函数应用快速傅里叶变换

Algorithm 用特定乘积函数应用快速傅里叶变换,algorithm,fft,discrete-mathematics,complex-numbers,dft,Algorithm,Fft,Discrete Mathematics,Complex Numbers,Dft,问题:给定2N次多项式为a0+a1x+a2x2..+aNxN和 b0+b1x+b2x2..+bNxN。假设两个多项式中没有两个系数相同 求多项式的乘积,关键是系数之间的乘积(*)运算符定义不同: f(i,j):=ai*bj:=1/abs(ai-bj) 也就是说,找到以下多项式: c0+c1x+c2x2..+c2Nx2N 在哪里 ck:=∑i=0..nf(i,k-i) 我知道用FFT,两个多项式可以在O(n lg n)时间内乘以系数之间的正规乘积运算符,但我不知道这类问题。如果有比O(n^2)更好

问题:给定
2N
次多项式为
a0+a1x+a2x2..+aNxN
b0+b1x+b2x2..+bNxN
。假设两个多项式中没有两个系数相同

求多项式的乘积,关键是系数之间的乘积(*)运算符定义不同:

f(i,j):=ai*bj:=1/abs(ai-bj)

也就是说,找到以下多项式:

c0+c1x+c2x2..+c2Nx2N

在哪里

ck:=∑i=0..nf(i,k-i)


我知道用FFT,两个多项式可以在
O(n lg n)
时间内乘以系数之间的正规乘积运算符,但我不知道这类问题。

如果有比
O(n^2)
更好的算法,当你改变乘积操作符时,它破坏了FFT的许多结构。FFT的细节要求在加法上具有“乘法的分布性”(即ab+ac=a*(b+c))。由于使用“*”运算替换本机乘法,分配属性将不成立。但是,可能存在一些算法,需要的时间少于O(N^2)。