n维离散傅立叶变换的计算复杂度?

时间:2018-04-18 17:37:33

标签: math fft complexity-theory dft

讨论了computational complexity n维快速傅里叶变换here和(前者重复)here

1维Discrete Fourier Transform的计算复杂度为O(N^2)N为数据集大小。

请您告诉我们沿每个维度包含{N1,N2 ... Nn}点的n维离散傅立叶变换的计算复杂度是什么?

1 个答案:

答案 0 :(得分:2)

The FFT itself is also a DFT (with some constraints). Will assume that you mean the naive summation method.

Re-writing the 1D DFT in integral form (the continuous version):

enter image description here

A particular value of f-tilde is equivalent to a single element in your DFT array. When the integral is discretized (i.e. converted a finite sum), there are N terms in the sum. This gives O(N) for each element and hence O(N^2) overall.

In case you were wondering, writing in this form allows for more compact notation for a general n-D DFT:

enter image description here

When this is discretized, we can see that for each element there are n sums, each over one of the dimensions and of length N. There are N ^ n values in the input "array", so the complexity is:

enter image description here