Ich suche nach relativ schnellen Implementierungen der diskreten Fourier-Transformation (DFT) auf einem dreieckigen oder hexagonalen 2D-Gitter.
Ich würde mich über Hinweise auf solche Implementierungen freuen (insbesondere auf solche, die von Python oder Mathematica aus leicht zu verwenden sind) und auch auf Beschreibungen, wie dieses Problem auf die 1D-DFT reduziert werden kann, die bereits in vielen Systemen integriert ist.
libraries
fourier-analysis
Szabolcs
quelle
quelle
Antworten:
Es gibt mehrere Arbeiten von Markus Püschel auf seiner Website hier , dass diskutieren Cooley-Tukey-like (so vermute ich , „schnell“) Algorithmen für Gitter Transformationen, wie DFTs auf dreieckigen und hexagonalen 2-D - Gitter. Im dreieckigen Fall nennt er die DFT die diskrete Dreieckstransformation (DTT). Markus hat einen Code namens SPIRAL , der automatisch Code für Transformationen generiert, aber es scheint, dass diese DTT-Arbeit nicht Teil von SPIRAL ist und es keine Implementierung auf seiner Website gibt, die ich finden kann. Ich fange an zu denken, dass @JM richtig ist und dass Sie möglicherweise Ihre eigene Implementierung rollen müssen.
In den Abstracts wird darauf hingewiesen, dass die Transformation für dreieckige und hexagonale 2D-Gitter nicht in 1-D-Komponenten unterteilt werden kann, sodass Sie das Problem nicht auf zwei 1-D-Transformationen reduzieren können.
quelle