SciPost Submission Page
FFTArray: A Python Library for the Implementation of Discretized Multi-Dimensional Fourier Transforms
by Stefan J. Seckmeyer, Christian Struckmann, Gabriel Müller, Jan-Niclas Kirsten-Siemß, Naceur Gaaloul
Submission summary
| Authors (as registered SciPost users): | Stefan Seckmeyer |
| Submission information | |
|---|---|
| Preprint Link: | https://arxiv.org/abs/2508.03697v3 (pdf) |
| Code repository: | https://github.com/QSTheory/fftarray |
| Code version: | v0.5.1 |
| Code license: | Apache-2.0 license |
| Date submitted: | Dec. 23, 2025, 12:42 p.m. |
| Submitted by: | Stefan Seckmeyer |
| Submitted to: | SciPost Physics Codebases |
| Ontological classification | |
|---|---|
| Academic field: | Physics |
| Specialties: |
|
| Approaches: | Theoretical, Computational |
The author(s) disclose that the following generative AI tools have been used in the preparation of this submission:
During the authoring of this paper LUHKI (https://luhki.uni-hannover.de/login, based on ChatGPT as per its “Über” section) was used from August 2024 to August 2025 to improve grammar and readability of single sentences and paragraphs and to debug and improve the LaTeX layout.
During the authoring of this revision LUHKI2 (https://luhki2.uni-hannover.de/login, based on ChatGPT) was used in December 2025 to improve grammar and readability of single sentences and paragraphs.
Abstract
Partial differential equations describing the dynamics of physical systems rarely have closed-form solutions. Fourier spectral methods, which use Fast Fourier Transforms (FFTs) to approximate solutions, are a common approach to solving these equations. However, mapping Fourier integrals to discrete FFTs is not straightforward, as the selection of the grid as well as the coordinate-dependent phase and scaling factors require special care. Moreover, most software packages that deal with this step integrate it tightly into their full-stack implementations. Such an integrated design sacrifices generality, making it difficult to adapt to new coordinate systems, boundary conditions, or problem-specific requirements. To address these challenges, we present FFTArray, a Python library that automates the general discretization of Fourier transforms. Its purpose is to reduce the barriers to developing high-performance, maintainable code for pseudo-spectral Fourier methods. Its interface enables the direct translation of textbook equations and complex research problems into code, and its modular design scales naturally to multiple dimensions. This makes the definition of valid coordinate grids straightforward, while coordinate grid specific corrections are applied with minimal impact on computational performance. Built on the Python Array API Standard, FFTArray integrates seamlessly with array backends like NumPy, JAX and PyTorch and supports Graphics Processing Unit acceleration. The code is openly available at https://github.com/QSTheory/fftarray under Apache-2.0 license.
Author comments upon resubmission
thank you for your positive assessment. We are grateful for the referee’s feedback, which helped us improve the paper. Following the weaknesses pointed out by the referee we added an additional paragraph about the mathematical foundations of the Fourier Transform and substantially revised section 2.1 to more clearly discuss the sampling theorem, sampling continuous functions and other discretization effects.
We hope these revisions address the concerns satisfactorily. We appreciate the reviewer’s positive evaluation and recommendation.
For the authors,
Stefan J. Seckmeyer
List of changes
-
In section 2 we added an additional paragraph about the mathematical foundations and existence conditions of the Fourier transform with references to Stein and Shakarchi (2003) [17], Hörmander (2003) [18] and Stein and Shakarchi (2005) [19].
-
We substantially revised section 2.1 to clearly separate the sampling theorem from other discretization effects, and we expanded the discussion of sampling continuous functions, the choice of sampling rate and grid size with references to Jerri (1977) [24], Unser(2000) [23], Trefethen (2000) [20], Muga et al (2004) [25], Oppenheim and Schafer (2010) [22], Pharr, Jakob and Humphreys (2023) [21].
-
Adjusted reference ([57] in arXiv:2508.03697v3) to correctly render "10^-17".
