Estoy buscando implementaciones razonablemente rápidas de la transformada discreta de Fourier (DFT) en una red 2D triangular o hexagonal.
Apreciaría los consejos para tales implementaciones (especialmente las que se pueden usar fácilmente desde Python o Mathematica), y también para las descripciones de cómo reducir este problema al 1D DFT, que ya está integrado en muchos sistemas.
libraries
fourier-analysis
Szabolcs
fuente
fuente
Respuestas:
Hay varios documentos de Markus Püschel en su sitio web aquí que analizan algoritmos similares a Cooley-Tukey (así que supongo que son "rápidos") para las transformaciones de red, como los DFT en redes triangulares y hexagonales en 2-D. En el caso triangular, llama al DFT la transformada de triángulo discreto (DTT). Markus tiene un código llamado SPIRAL que genera automáticamente código para transformaciones, pero parece que este trabajo de TDT no es parte de SPIRAL, y no hay implementación en su sitio web que pueda encontrar. Estoy empezando a pensar que @JM tiene razón y que es posible que deba implementar su propia implementación.
Una cosa que los resúmenes señalan es que para las redes triangulares y hexagonales 2D, la transformación no se puede separar en componentes 1-D, por lo que no podrá reducir el problema a dos transformaciones 1-D.
fuente