三角格上的傅里叶变换库

计算科学 图书馆 傅立叶分析
2021-12-12 04:31:36

我正在寻找二维三角形或六边形晶格上离散傅里叶变换 (DFT) 的合理快速实现。

我会很感激这些实现的指针(尤其是那些很容易从 Python 或 Mathematica 使用的实现),以及如何将这个问题简化为 1D DFT 的描述,它已经内置在许多系统中。

1个回答

Markus Püschel 在他的网站上有几篇论文讨论用于晶格变换的类 Cooley-Tukey(所以我猜是“快速”)算法,例如三角形和六边形二维晶格上的 DFT。在三角形情况下,他将 DFT 称为离散三角形变换 (DTT)。Markus 有一个名为SPIRAL的代码,可以自动生成转换代码,但似乎这个 DTT 工作不是 SPIRAL 的一部分,而且我在他的网站上没有找到实现。我开始认为@JM 是正确的,您可能需要推出自己的实现。

摘要指出的一件事是,对于二维三角形和六边形晶格,变换不可分离为一维分量,因此您将无法将问题简化为两个一维变换。