三角格上的傅立叶变换库


11

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

我希望能找到指向此类实现的指针(尤其是易于从Python或Mathematica使用的指针),以及对如何将这一问题减少到许多系统中已经内置的一维DFT的描述。


这是我在这里的第一篇文章,希望能为您对问题进行适当的标记提供帮助。
Szabolcs 2012年

2
您这里似乎需要的是晶体学傅立叶变换。作为参考,有thisthisthisthis,但是我很难找到可以免费下载的FORTRAN例程。您可能需要实施自己的实现...
JM 2012年

1
+1问题。我认为这些标签现在还不错。如果有人认为问题的标签应该不同,他们将对其进行编辑(如果不能,则将询问可以回答的人)。
Geoff Oxberry 2012年

1
,和这个有一些更多的引用可能是有用的。
JM 2012年

1
@Mark我也找到了一些参考(在发布之前),包括Geoff给出的参考,但是我没有找到任何有效的代码。不过,我还没有找到“晶体傅立叶变换”一词。这实际上是一个害羞的朋友提出的问题(但我也很感兴趣)。参考文献的问题在于阅读参考文献并找到正确的参考文献需要很多工作。我最终会回来并发表有关结果的信息。
Szabolcs 2012年

Answers:


5

有几篇论文由马库斯Püschel在他的网站在这里是讨论库利-图基类(所以我猜“快”)算法晶格变换,如三角形和六角形的2-d格的DFT。在三角形的情况下,他将DFT称为离散三角变换(DTT)。Markus有一个称为SPIRAL的代码,该代码会自动生成用于转换的代码,但是看来DTT的工作不是SPIRAL的一部分,而且我的网站上没有任何实现。我开始认为@JM是正确的,您可能需要推出自己的实现。

摘要要注意的一件事是,对于2-D三角形和六边形晶格,无法将其转换为1-D分量,因此您无法将问题简化为两个1-D转换。


我一直想知道这与仅沿晶格基础方向进行普通FFT有何不同。这样可以保持对称性吗?为什么这么重要?
维克多·刘

我怀疑当您形成自己的(以前是?)循环矩阵时,它不会具有与以前相同的优良特性。。。我对FFT的理解是,由于变换矩阵的对称性和自相似性,您可以使用真正智能的求解方法。
meawoppl 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.