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

Summarize this article with:
SciPost Physics Codebases Home Authoring Refereeing Submit a manuscript About FFTArray: A Python library for the implementation of discretized multi-dimensional Fourier transforms Stefan J. Seckmeyer, Christian Struckmann, Gabriel Müller, Jan-Niclas Kirsten-Siemß, Naceur Gaaloul SciPost Phys. Codebases 66 (2026) · published 16 March 2026 doi: 10.21468/SciPostPhysCodeb.66 pdf live repo (external) BiBTeX RIS Submissions/Reports This Publication is part of a bundle When citing, cite all relevant items (e.g. for a Codebase, cite both the article and the release you used). DOI Type Published on 10.21468/SciPostPhysCodeb.66 Article 2026-03-16 10.21468/SciPostPhysCodeb.66-r0.5 Codebase release 2026-03-16 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. × TY - JOURPB - SciPost FoundationDO - 10.21468/SciPostPhysCodeb.66TI - FFTArray: A Python library for the implementation of discretized multi-dimensional Fourier transformsPY - 2026/03/16UR - https://scipost.org/SciPostPhysCodeb.66JF - SciPost Physics CodebasesJA - SciPost Phys. CodebasesSP - 66A1 - Seckmeyer, Stefan J.AU - Struckmann, ChristianAU - Müller, GabrielAU - Kirsten-Siemß, Jan-NiclasAU - Gaaloul, NaceurAB - 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.ER - × @Article{10.21468/SciPostPhysCodeb.66, title={{FFTArray: A Python library for the implementation of discretized multi-dimensional Fourier transforms}}, author={Stefan J. Seckmeyer and Christian Struckmann and Gabriel Müller and Jan-Niclas Kirsten-Siemß and Naceur Gaaloul}, journal={SciPost Phys. Codebases}, pages={66}, year={2026}, publisher={SciPost}, doi={10.21468/SciPostPhysCodeb.66}, url={https://scipost.org/10.21468/SciPostPhysCodeb.66},}@Article{10.21468/SciPostPhysCodeb.66-r0.5, title={{Codebase release 0.5 for FFTArray}}, author={Stefan J. Seckmeyer and Christian Struckmann and Gabriel Müller and Jan-Niclas Kirsten-Siemß and Naceur Gaaloul}, journal={SciPost Phys. Codebases}, pages={66-r0.5}, year={2026}, publisher={SciPost}, doi={10.21468/SciPostPhysCodeb.66-r0.5}, url={https://scipost.org/10.21468/SciPostPhysCodeb.66-r0.5},} Disclosure of Generative AI use The author(s) disclose that the following generative AI tools have been used in the preparation of this publication 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. Ontology / Topics See full Ontology or Topics database. Bose-Einstein condensates (BECs) Gross-Pitaevskii equation Interferometers Python Quantum gases Quantum optics Quantum simulation Schrödinger equation Two-component Bose-Einstein condensates Ultracold atoms quantum sensing Authors / Affiliation: mappings to Contributors and Organizations See all Organizations. 1 Stefan J. Seckmeyer, 1 Christian Struckmann, 1 Gabriel Müller, 1 Jan-Niclas Kirsten-Siemß, 1 Naceur Gaaloul 1 Leibniz Universität Hannover / University of Hannover Funders for the research work leading to this publication Agence Nationale de la Recherche [ANR] Bundesministerium für Bildung und Forschung / Federal Ministry of Education and Research [BMBF] Deutsche Forschungsgemeinschaft / German Research FoundationDeutsche Forschungsgemeinschaft [DFG] Deutsches Zentrum für Luft- und Raumfahrt / German Aerospace Center [DLR] HORIZON EUROPE Framework Programme
