什么是 FFT?

如何求 ?逐项计算?

还有别的计算方式吗?插值法

找到 个点

找点时间复杂度? 能否优化?

考虑把

奇次项与偶次项分离

发现一个有意思的:如果

则只要算一次 就得到两个插值点

注意 也可以用类似的思路继续划分

我们知道 可以得出 的值,那么 有什么用呢?

注意到一个 可以开根号得到两个值

他们平方值相同:

既然 可以拆成两个平方根,可否有 呢?

如果你学过复数,会立马思考到:

于是可得:

孩子们,是复数,我们有救了。

graph LR;
    subgraph A
    A1[1]
    A2[2]
    A3[3]
    A4[4]
    end
    subgraph Ae
    Ae1[1]
    Ae2[3]
    end
    A1-->Ae1
    A3-->Ae2
    subgraph Ao
    Ao1[2]
    Ao2[4]
    end
    A2-->Ao1
    A4-->Ao2
    
    subgraph Fe
    Fe1[1+3=4]
    Fe2[1-3=-2]
    end
    Ae1-->Fe1
    Ae1-->Fe2
    Ae2-->|-1|Fe2
    Ae2-->|1|Fe1
    subgraph Fo
    Fo1[2+4=6]
    Fo2[2-4=-2]
    end
    Ao1-->Fo1
    Ao1-->Fo2
    Ao2-->|-1|Fo2
    Ao2-->|1|Fo1
    subgraph F
    F1[4+6=10]
    F2["-2+(i)*(-2)=-2-2i"]
    F3[4-6=-2]
    F4["-2+(-i)*(-2)=-2+2i"]
    end
    Fe1-->F1
    Fe1-->F3
    Fe2-->F2
    Fe2-->F4
    Fo1-->|1|F1
    Fo1-->|-1|F3
    Fo2-->|i|F2
    Fo2-->|-i|F4

根据欧拉公式,这些点分别有另一种表示形式

则每个点分别为

根据图还能发现 2 个结论:

于是上面的方程变成