Thư viện biến đổi Fourier trên mạng tam giác


11

Tôi đang tìm kiếm các triển khai hợp lý nhanh chóng của biến đổi Fourier rời rạc (DFT) trên mạng tam giác 2D hoặc lục giác.

Tôi sẽ đánh giá cao các con trỏ cho các triển khai như vậy (đặc biệt là các triển khai có thể sử dụng dễ dàng từ Python hoặc Mathicala), và cả các mô tả về cách giảm vấn đề này xuống DFT 1D, đã được tích hợp vào nhiều hệ thống.


Đây là bài viết đầu tiên của tôi ở đây, tôi đánh giá cao một số trợ giúp trong việc gắn thẻ câu hỏi một cách thích hợp.
Szabolcs

2
Những gì bạn dường như cần ở đây là một biến đổi Fourier tinh thể. Để tham khảo, có cái này , cái này , cái nàycái này , nhưng tôi gặp khó khăn khi tìm các thói quen FORTRAN mà người ta có thể tải xuống một cách tự do. Bạn có thể phải tự triển khai ...
JM

1
+1 cho câu hỏi. Tôi nghĩ rằng các thẻ là tốt cho bây giờ; nếu ai đó nghĩ rằng câu hỏi nên được gắn thẻ khác nhau, họ sẽ chỉnh sửa nó (nếu không thể, họ sẽ hỏi ai đó có thể).
Geoff Oxberry

1
Cái này , cái nàyđây là một vài tài liệu tham khảo có thể được sử dụng.
JM

1
@Mark Tôi cũng đã tìm thấy một vài tài liệu tham khảo (trước khi đăng), bao gồm cả tài liệu được cung cấp bởi Geoff, nhưng tôi không tìm thấy bất kỳ mã làm việc nào. Tuy nhiên, tôi vẫn chưa tìm thấy thuật ngữ "biến đổi Fourier tinh thể". Đây thực sự là một câu hỏi của một người bạn hơi ngại đăng bài (nhưng tôi cũng quan tâm). Vấn đề với các tài liệu tham khảo là rất nhiều công việc để đọc chúng và tìm đúng. Cuối cùng tôi sẽ quay lại và đăng bài về kết quả.
Szabolcs

Câu trả lời:


5

Có một số bài viết của Markus Püschel trên trang web của mình ở đây thảo luận về các thuật toán giống như Cooley-Tukey (vì vậy tôi đoán là "nhanh") cho các phép biến đổi mạng, chẳng hạn như các DFT trên các mạng 2 chiều hình tam giác và lục giác. Trong trường hợp tam giác, anh ta gọi DFT là biến đổi tam giác rời rạc (DTT). Markus có một mã gọi là SPIRAL tự động tạo mã cho các biến đổi, nhưng có vẻ như công việc DTT này không phải là một phần của SPIRAL và không có triển khai nào trên trang web của anh ta mà tôi có thể tìm thấy. Tôi bắt đầu nghĩ rằng @JM là đúng và bạn có thể cần phải triển khai thực hiện của riêng mình.

Một điều mà bản tóm tắt lưu ý là đối với các mạng tam giác và lục giác 2 chiều, biến đổi không thể tách rời thành các thành phần 1-D, do đó bạn sẽ không thể giảm vấn đề thành hai biến đổi 1-D.


Tôi đã luôn tự hỏi làm thế nào điều này khác với việc chỉ thực hiện một FFT thông thường dọc theo các hướng cơ sở của mạng tinh thể. Là lợi thế mà điều này bảo tồn đối xứng? Tại sao điều đó quan trọng?
Victor Liu

Tôi nghi ngờ khi bạn hình thành ma trận tuần hoàn (trước đây?), Nó sẽ không có các thuộc tính đẹp như trước. . . Sự hiểu biết của tôi về FFT là do tính đối xứng và tự tương tự của ma trận biến đổi, bạn có thể sử dụng các phương pháp giải quyết thực sự thông minh.
meawoppl
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.