Szukam dość szybkich implementacji dyskretnej transformaty Fouriera (DFT) na trójkątnej lub heksagonalnej sieci 2D.
Byłbym wdzięczny za wskazówki dotyczące takich implementacji (szczególnie tych, które można łatwo wykorzystać z Pythona lub Mathematiki), a także opisów, jak zredukować ten problem do 1D DFT, który jest już wbudowany w wiele systemów.
libraries
fourier-analysis
Szabolcs
źródło
źródło
Odpowiedzi:
Na jego stronie internetowej znajduje się kilka artykułów Markusa Püschela , które omawiają podobne do Cooleya-Tukeya (więc zgaduję „szybkie”) algorytmy transformacji sieci, takie jak DFT na trójkątnych i heksagonalnych sieciach 2D. W przypadku trójkąta nazywa DFT dyskretną transformatą trójkąta (DTT). Markus ma kod o nazwie SPIRAL, który automatycznie generuje kod do transformacji, ale wydaje się, że ta praca DTT nie jest częścią SPIRAL i nie ma implementacji na jego stronie internetowej, którą mogę znaleźć. Zaczynam myśleć, że @JM ma rację i że może być konieczne wdrożenie własnej implementacji.
Jedną rzeczą, na którą zwracają uwagę streszczenia, jest to, że w przypadku trójwymiarowych sieci trójkątnych i heksagonalnych 2-transformacji transformacji nie da się rozdzielić na komponenty 1-D, więc nie będzie można zredukować problemu do dwóch transformacji 1-D.
źródło