Schmetterlingsgraph
# Schmetterlingsgraph

Ein Schmetterlingsgraph (englisch butterfly graph) zeigt, wie aus der Grundfunktion (der Schmetterling) der Fourier-Transformation ein schneller Fouriertransformator (FFT, schnelle Fourier-Transformation) aufgebaut wird.
Der Begriff Schmetterling leitet sich im Datenflussdiagramm von der Darstellung der beiden Dreiecke ab, die bei der Darstellung des Grundelementes (time decimation butterfly) der schnellen Fouriertransformation entstehen. Ein Schmetterling bewerkstelligt (jeweils komplex) eine Multiplikation, eine Subtraktion und eine Addition im Rahmen des FFT-Algorithmus von Cooley und Tukey. Durch die Linien wird angezeigt, dass die beiden Ausgänge $y_{0}$ und $y_{1}$ von den beiden Eingängen $x_{0}$ und $x_{1}$ abhängen.
Im einfachsten Fall (radix-2 Cooley und Tukey FFT-Algorithmus) besteht der Schmetterlingsgraph nur aus den dargestellten zwei Ein- und Ausgängen:
    $y_{0}=x_{0}+x_{1}$
    $y_{1}=x_{0}-x_{1}$
Der allgemeine Fall mit $n=2^{p}$ Eingängen resultiert in einer Anzahl von $O(n\log n)$ an Schmetterlingsgraphen mit den Bezügen:
    $y_{0}=x_{0}+x_{1}\omega ^{k}$
    $y_{1}=x_{0}-x_{1}\omega ^{k}$
mit
    $\omega =\exp \left(-{\frac {2\pi \mathrm {i} k}{n}}\right)$,
dem Index $k$ und der imaginären Einheit $\mathrm {i}$.