Current Publications

Journal Publications
since 2022

Recent Journal Publications

[183062]
Title: NFFT.jl: Generic and Fast Julia Implementation of the Nonequidistant Fast Fourier Transform.
Written by: T. Knopp, M. Boberg, and M. Grosser
in: <em>SIAM Journal on Scientific Computing</em>. (2023).
Volume: <strong>45</strong>. Number: (3),
on pages: C179-C205
Chapter:
Editor:
Publisher:
Series:
Address:
Edition:
ISBN:
how published:
Organization:
School:
Institution:
Type:
DOI: 10.1137/22M1510935
URL: https://arxiv.org/abs/2208.00049
ARXIVID:
PMID:

[www] [BibTex]

Note: article, opensoftware, openaccess, generalsoftware

Abstract: The nonequidistant fast Fourier transform (NFFT) is an extension of the famous fast Fourier transform (FFT) that can be applied to nonequidistantly sampled data in time/space or frequency domain. It is an approximative algorithm that allows one to control the approximation error in such a way that machine precision is reached while keeping the algorithmic complexity in the same order as a regular FFT. The NFFT plays a major role in many signal processing applications and has been intensively studied from a theoretical and computational perspective. The fastest CPU implementations of the NFFT are implemented in the low-level programming languages C and C++ and require a compromise between code generalizability, code readability, and code efficiency. The programming language Julia promises new opportunities in optimizing these three conflicting goals. In this work we show that Julia indeed allows one to develop an NFFT implementation which is completely generic and dimension-agnostic and requires about two to three times less code than the other famous libraries NFFT3 and FINUFFT while still being one of the fastest NFFT implementations developed to date.

Conference Abstracts and Proceedings
since 2022

Recent Conference Abstracts and Proceedings

[183062]
Title: NFFT.jl: Generic and Fast Julia Implementation of the Nonequidistant Fast Fourier Transform.
Written by: T. Knopp, M. Boberg, and M. Grosser
in: <em>SIAM Journal on Scientific Computing</em>. (2023).
Volume: <strong>45</strong>. Number: (3),
on pages: C179-C205
Chapter:
Editor:
Publisher:
Series:
Address:
Edition:
ISBN:
how published:
Organization:
School:
Institution:
Type:
DOI: 10.1137/22M1510935
URL: https://arxiv.org/abs/2208.00049
ARXIVID:
PMID:

[www]

Note: article, opensoftware, openaccess, generalsoftware

Abstract: The nonequidistant fast Fourier transform (NFFT) is an extension of the famous fast Fourier transform (FFT) that can be applied to nonequidistantly sampled data in time/space or frequency domain. It is an approximative algorithm that allows one to control the approximation error in such a way that machine precision is reached while keeping the algorithmic complexity in the same order as a regular FFT. The NFFT plays a major role in many signal processing applications and has been intensively studied from a theoretical and computational perspective. The fastest CPU implementations of the NFFT are implemented in the low-level programming languages C and C++ and require a compromise between code generalizability, code readability, and code efficiency. The programming language Julia promises new opportunities in optimizing these three conflicting goals. In this work we show that Julia indeed allows one to develop an NFFT implementation which is completely generic and dimension-agnostic and requires about two to three times less code than the other famous libraries NFFT3 and FINUFFT while still being one of the fastest NFFT implementations developed to date.

Publications

Journal Publications
since 2014

Journal Publications

[183062]
Title: NFFT.jl: Generic and Fast Julia Implementation of the Nonequidistant Fast Fourier Transform.
Written by: T. Knopp, M. Boberg, and M. Grosser
in: <em>SIAM Journal on Scientific Computing</em>. (2023).
Volume: <strong>45</strong>. Number: (3),
on pages: C179-C205
Chapter:
Editor:
Publisher:
Series:
Address:
Edition:
ISBN:
how published:
Organization:
School:
Institution:
Type:
DOI: 10.1137/22M1510935
URL: https://arxiv.org/abs/2208.00049
ARXIVID:
PMID:

[www] [BibTex]

Note: article, opensoftware, openaccess, generalsoftware

Abstract: The nonequidistant fast Fourier transform (NFFT) is an extension of the famous fast Fourier transform (FFT) that can be applied to nonequidistantly sampled data in time/space or frequency domain. It is an approximative algorithm that allows one to control the approximation error in such a way that machine precision is reached while keeping the algorithmic complexity in the same order as a regular FFT. The NFFT plays a major role in many signal processing applications and has been intensively studied from a theoretical and computational perspective. The fastest CPU implementations of the NFFT are implemented in the low-level programming languages C and C++ and require a compromise between code generalizability, code readability, and code efficiency. The programming language Julia promises new opportunities in optimizing these three conflicting goals. In this work we show that Julia indeed allows one to develop an NFFT implementation which is completely generic and dimension-agnostic and requires about two to three times less code than the other famous libraries NFFT3 and FINUFFT while still being one of the fastest NFFT implementations developed to date.

Conference Abstracts and Proceedings
since 2014

Conference Abstracts and Proceedings

[183062]
Title: NFFT.jl: Generic and Fast Julia Implementation of the Nonequidistant Fast Fourier Transform.
Written by: T. Knopp, M. Boberg, and M. Grosser
in: <em>SIAM Journal on Scientific Computing</em>. (2023).
Volume: <strong>45</strong>. Number: (3),
on pages: C179-C205
Chapter:
Editor:
Publisher:
Series:
Address:
Edition:
ISBN:
how published:
Organization:
School:
Institution:
Type:
DOI: 10.1137/22M1510935
URL: https://arxiv.org/abs/2208.00049
ARXIVID:
PMID:

[www]

Note: article, opensoftware, openaccess, generalsoftware

Abstract: The nonequidistant fast Fourier transform (NFFT) is an extension of the famous fast Fourier transform (FFT) that can be applied to nonequidistantly sampled data in time/space or frequency domain. It is an approximative algorithm that allows one to control the approximation error in such a way that machine precision is reached while keeping the algorithmic complexity in the same order as a regular FFT. The NFFT plays a major role in many signal processing applications and has been intensively studied from a theoretical and computational perspective. The fastest CPU implementations of the NFFT are implemented in the low-level programming languages C and C++ and require a compromise between code generalizability, code readability, and code efficiency. The programming language Julia promises new opportunities in optimizing these three conflicting goals. In this work we show that Julia indeed allows one to develop an NFFT implementation which is completely generic and dimension-agnostic and requires about two to three times less code than the other famous libraries NFFT3 and FINUFFT while still being one of the fastest NFFT implementations developed to date.

Publications Pre-dating the Institute

Publications
2007-2013

Old Publications

[183062]
Title: NFFT.jl: Generic and Fast Julia Implementation of the Nonequidistant Fast Fourier Transform.
Written by: T. Knopp, M. Boberg, and M. Grosser
in: <em>SIAM Journal on Scientific Computing</em>. (2023).
Volume: <strong>45</strong>. Number: (3),
on pages: C179-C205
Chapter:
Editor:
Publisher:
Series:
Address:
Edition:
ISBN:
how published:
Organization:
School:
Institution:
Type:
DOI: 10.1137/22M1510935
URL: https://arxiv.org/abs/2208.00049
ARXIVID:
PMID:

[www]

Note: article, opensoftware, openaccess, generalsoftware

Abstract: The nonequidistant fast Fourier transform (NFFT) is an extension of the famous fast Fourier transform (FFT) that can be applied to nonequidistantly sampled data in time/space or frequency domain. It is an approximative algorithm that allows one to control the approximation error in such a way that machine precision is reached while keeping the algorithmic complexity in the same order as a regular FFT. The NFFT plays a major role in many signal processing applications and has been intensively studied from a theoretical and computational perspective. The fastest CPU implementations of the NFFT are implemented in the low-level programming languages C and C++ and require a compromise between code generalizability, code readability, and code efficiency. The programming language Julia promises new opportunities in optimizing these three conflicting goals. In this work we show that Julia indeed allows one to develop an NFFT implementation which is completely generic and dimension-agnostic and requires about two to three times less code than the other famous libraries NFFT3 and FINUFFT while still being one of the fastest NFFT implementations developed to date.

Open Access Publications

Journal Publications
since 2014

Open Access Publications

[183062]
Title: NFFT.jl: Generic and Fast Julia Implementation of the Nonequidistant Fast Fourier Transform.
Written by: T. Knopp, M. Boberg, and M. Grosser
in: <em>SIAM Journal on Scientific Computing</em>. (2023).
Volume: <strong>45</strong>. Number: (3),
on pages: C179-C205
Chapter:
Editor:
Publisher:
Series:
Address:
Edition:
ISBN:
how published:
Organization:
School:
Institution:
Type:
DOI: 10.1137/22M1510935
URL: https://arxiv.org/abs/2208.00049
ARXIVID:
PMID:

[www] [BibTex]

Note: article, opensoftware, openaccess, generalsoftware

Abstract: The nonequidistant fast Fourier transform (NFFT) is an extension of the famous fast Fourier transform (FFT) that can be applied to nonequidistantly sampled data in time/space or frequency domain. It is an approximative algorithm that allows one to control the approximation error in such a way that machine precision is reached while keeping the algorithmic complexity in the same order as a regular FFT. The NFFT plays a major role in many signal processing applications and has been intensively studied from a theoretical and computational perspective. The fastest CPU implementations of the NFFT are implemented in the low-level programming languages C and C++ and require a compromise between code generalizability, code readability, and code efficiency. The programming language Julia promises new opportunities in optimizing these three conflicting goals. In this work we show that Julia indeed allows one to develop an NFFT implementation which is completely generic and dimension-agnostic and requires about two to three times less code than the other famous libraries NFFT3 and FINUFFT while still being one of the fastest NFFT implementations developed to date.