Üçgen kafes üzerinde Fourier dönüşümü için kütüphane


11

Bir 2D üçgen veya altıgen kafes üzerindeki ayrık Fourier dönüşümünün (DFT) oldukça hızlı uygulamalarını arıyorum.

Bu tür uygulamalara (özellikle Python veya Mathematica'dan kolayca kullanılabilenlere) ve bu sorunun zaten birçok sistemde yerleşik olan 1D DFT'ye nasıl indirileceğine dair açıklamalara teşekkür ederim.


Bu benim ilk yazım, soruyu uygun şekilde etiketlemede bazı yardımları takdir ediyorum.
Szabolcs

2
Burada ihtiyacınız olan şey kristalografik bir Fourier dönüşümüdür. Referanslar için, bu , bu , bu ve bu , ama bir özgürce indirebilirsiniz FORTRAN rutinleri bulmakta sorun yaşıyorum. Kendi uygulamanızı yuvarlamanız gerekebilir ...
JM

1
Soru için +1. Bence etiketler şimdilik iyi; Birisi sorunun farklı şekilde etiketlenmesi gerektiğini düşünüyorsa, soruyu düzenler (yapamazlarsa, yapabilecek birine sorar).
Geoff Oxberry

1
Bu , bu ve bu , kullanılabilecek birkaç referans daha.
JM

1
@ Mark Geoff tarafından verilen de dahil olmak üzere (göndermeden önce) birkaç referans buldum, ancak herhangi bir çalışma kodu bulamadım. Yine de, "kristalografik Fourier dönüşümü" terimini bulamadım. Bu aslında göndermek için biraz utangaç bir arkadaşın sorusu (ama ben de ilgileniyorum). Referanslarla ilgili sorun, onları okumak ve doğru olanı bulmak için çok çalışmaktır. Sonunda geri geleceğim ve sonuç hakkında yazacağım.
Szabolcs

Yanıtlar:


5

Markus Püschel tarafından çeşitli kağıtlar kendi web sitesinde var burada tartışmak olduğunu Cooley-Tukey benzeri algoritmalar böyle üçgen ve altıgen 2-B örgüleri üzerindeki DFTS olarak kafes dönüştürmeleri, (I "hızlı" tahmin ediyorum bu yüzden). Üçgen durumda, DFT'ye ayrık üçgen dönüşümü (DTT) diyor. Markus, dönüşümler için otomatik olarak kod üreten SPIRAL adlı bir koda sahiptir , ancak bu DTT çalışmasının SPIRAL'in bir parçası olmadığı ve web sitesinde bulabileceğim bir uygulama olmadığı görülmektedir. @JM'nin doğru olduğunu ve kendi uygulamanızı gerçekleştirmeniz gerekebileceğini düşünmeye başlıyorum.

Özetlerin not ettiği bir şey, 2-D üçgen ve altıgen kafesler için, dönüşümün 1-B bileşenlerine ayrılamaz olmasıdır, bu nedenle sorunu iki 1-D dönüşüme indiremezsiniz.


Bunun her zaman kafes temel yönleri boyunca sıradan bir FFT yapmaktan ne kadar farklı olduğunu merak ettim. Bunun avantajı simetrileri koruyor mu? Bu neden önemli?
Victor Liu

(Daha önce?) Sirkülasyon matrisinizi oluşturduğunuzda, eskisi gibi aynı hoş özelliklere sahip olmayacağından şüpheleniyorum. . . FFT'leri anladığım, dönüşüm matrisinin simetrileri ve öz-benzerlikleri nedeniyle gerçekten akıllı çözme yöntemlerini kullanabileceğinizdir.
meawoppl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.