삼각형 격자의 푸리에 변환을위한 라이브러리


11

2D 삼각형 또는 6 각형 격자에서 이산 푸리에 변환 (DFT)의 합리적으로 빠른 구현을 찾고 있습니다.

이러한 구현 (특히 Python 또는 Mathematica에서 쉽게 사용할 수있는 구현)에 대한 포인터와 이미 많은 시스템에 내장 된 1D DFT 로이 문제를 줄이는 방법에 대한 설명에 감사드립니다.


이것은 여기의 첫 번째 게시물입니다. 질문에 적절한 태그를 지정하는 데 도움을 주시면 감사하겠습니다.
Szabolcs

2
여기에 필요한 것은 결정 학적 푸리에 변환입니다. 참고로 this , this , thisthis 가 있지만 자유롭게 다운로드 할 수있는 FORTRAN 루틴을 찾는 데 문제가 있습니다. 당신은 당신 자신의 구현을 굴려야 할 수도 있습니다.
JM

1
질문에 +1 나는 지금 태그가 괜찮다고 생각한다. 다른 사람이 질문에 다른 태그를 지정해야한다고 생각하면 편집 할 수 있습니다 (그렇게 할 수 없으면 다른 사람에게 물어볼 것입니다).
Geoff Oxberry

1
이것 , 이것 , 그리고 이것은 사용 가능한 몇 가지 참조입니다.
JM

1
@ Mark Geoff가 제공 한 것을 포함하여 (게시하기 전에) 몇 가지 참조를 찾았지만 작동 코드를 찾지 못했습니다. 그래도 "결정 푸리에 변환"이라는 용어를 찾지 못했습니다. 이것은 실제로 조금 부끄러워했던 친구의 질문입니다 (그러나 나는 또한 관심이 있습니다). 참고 문헌의 문제는 그것을 읽고 올바른 것을 찾는 것이 많은 작업이라는 것입니다. 나는 결국 돌아와서 결과에 대해 게시 할 것이다.
Szabolcs

답변:


5

마르쿠스 Püschel에 의해 여러 논문을 자신의 웹 사이트에 있습니다 여기에 논의하는 것이 쿨리-Tukey에 같은 알고리즘 같은 삼각형과 육각형의 2-D 격자에 DFT들과 같은 격자 변환에 대해 (내가 "빠른"추측하고있어 그래서). 삼각형의 경우 그는 DFT를 이산 삼각형 변환 (DTT)이라고합니다. Markus에는 변환 코드를 자동으로 생성하는 SPIRAL 이라는 코드가 있지만이 DTT 작업은 SPIRAL의 일부가 아니며 웹 사이트에서 찾을 수있는 구현이없는 것 같습니다. @JM이 옳고 자신의 구현을 롤링해야 할 수도 있다고 생각하기 시작했습니다.

초록에 주목할 점은 2 차원 삼각 및 6 각 격자의 경우 변환을 1 차원 성분으로 분리 할 수 ​​없으므로 문제를 두 개의 1 차원 변환으로 줄일 수 없다는 것입니다.


나는 항상 이것이 격자 기반 방향을 따라 일반 FFT를 수행하는 것과 어떻게 다른지 궁금했습니다. 이것이 대칭을 유지한다는 이점이 있습니까? 왜 중요한가요?
Victor Liu

나는 당신이 (이전?) 순환 행렬을 형성 할 때 이전과 같은 좋은 속성을 가지지 않을 것이라고 생각합니다. . . FFT에 대한 나의 이해는 변환 매트릭스의 대칭과 자기 유사성 때문에 실제로 지능적인 해결 방법을 사용할 수 있다는 것입니다.
meawoppl
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.