三角格子上のフーリエ変換ライブラリ


11

2D三角形または六角形格子での離散フーリエ変換(DFT)の合理的に高速な実装を探しています。

このような実装(特にPythonまたはMathematicaから簡単に使用できる実装)へのポインタと、この問題を多くのシステムに既に組み込まれている1D DFTに減らす方法の説明に感謝します。


これはここでの私の最初の投稿です。質問に適切にタグ付けするのに助けていただければ幸いです。
ザボルクス

2
ここで必要と思われるのは、結晶学的フーリエ変換です。参照のために、ありますこのこのこの、およびこれを、私は1つが自由にダウンロードすることができ、トラブル発見FORTRANルーチンを抱えています。独自の実装をロールバックする必要があるかもしれません
JM

1
質問の+1。今のところ、タグは問題ないと思います。誰かが質問に異なるタグを付けるべきだと思う場合、それを編集します(できない場合は、できる人に尋ねます)。
ジェフオックスベリー

1
このこの、およびこれは使用であるかもしれないいくつかのより多くの参照です。
JM

1
@Mark Geoffによって与えられたものを含む、いくつかの参照も(投稿する前に)見つけましたが、動作するコードは見つかりませんでした。それでも、「結晶学的フーリエ変換」という用語は見つかりませんでした。これは実際、投稿するのが少し恥ずかしかった友人による質問ですが(私も興味があります)。参照の問題は、参照を読んで適切な参照を見つけるのに多くの作業があることです。私は最終的に戻ってきて、結果について投稿します。
サボルクス

回答:


5

マルクスPüschelによっていくつかの論文は、彼のウェブサイトであり、ここで議論することクーリー-テューキーのようなアルゴリズムを、三角形と六角形の2次元格子上のDFTとして格子の変換のための(私は「速い」推測しているので)。三角形の場合、彼はDFTを離散三角形変換(DTT)と呼びます。Markusには、変換用のコードを自動的に生成するSPIRALというコードがありますが、このDTTの作業はSPIRALの一部ではなく、彼のWebサイトには実装がありません。@JMが適切であり、独自の実装を展開する必要があるかもしれないと考え始めています。

アブストラクトでは、2次元の三角形と六角形の格子の場合、変換は1次元の成分に分離できないため、問題を2つの1次元の変換に減らすことはできません。


私は、これが格子基底方向に沿って通常のFFTを行うこととどう違うのか、いつも疑問に思っていました。これが対称性を保持する利点はありますか?なぜそれが重要なのですか?
ビクター

(以前?)循環行列を形成するとき、以前と同じ素晴らしい特性を持たないと思います。。。FFTの私の理解は、変換行列の対称性と自己相似性により、本当にインテリジェントな解法を利用できるということです。
-meawoppl
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.