Skip to content
/ FNFT Public

Fast numerical computation of (inverse) nonlinear Fourier transforms

License

Notifications You must be signed in to change notification settings

FastNFT/FNFT

Repository files navigation

FNFT: Fast Nonlinear Fourier Transforms

Version Documentation Build Status DOI

FNFT is a software library for the numerical computation of (inverse) nonlinear Fourier transforms, which are also known as (inverse) scattering transforms. The focus of the library is on fast algorithms, but it also contains non-fast methods. FNFT is written in C and comes with a MATLAB interface. A Python interface is available separately.

Currently Implemented Cases

Forward Transforms

  • Nonlinear Schroedinger equation

    • Vanishing boundary conditions

      • Reflection coefficient and/or scattering coefficients (a and b)
      • Bound states (eigenvalues)
      • Norming constants and/or residues
    • (Quasi-)Periodic boundary conditions

      • Main spectrum
      • Auxiliary spectrum
  • Korteweg-de Vries equation

    • Vanishing boundary conditions
      • Reflection coefficient and/or scattering coefficients (a and b)
      • Bound states (eigenvalues)
      • Norming constants and/or residues
  • Manakov equation

    • Vanishing boundary conditions
      • Reflection coefficient and/or scattering coefficients (a, b1 and b2)
      • Bound states (eigenvalues)

Inverse Transforms

  • Nonlinear Schroedinger equation

    • Vanishing boundary conditions
      • Inversion of reflection coefficients, b-scattering coefficients or the inverse Fourier transform of the b-coefficient
      • Bound states (eigenvalues) can be added with arbitrary norming constants/residuals

Mailing List

Please join the FNFT mailing list if you want to be notified about new releases of FNFT. You can subscribe either using the web interface, or by sending an email with the subject "subscribe" to [email protected].

Citation

If you use FNFT for your academic work, please cite the accompanying software paper. Latex users can use the following BibTex entry.

@article{FNFT2018,
    author  = {S. Wahls and S. Chimmalgi and P.J. Prins},
    title   = {{FNFT: A Software Library for Computing Nonlinear Fourier Transforms}},
    journal = {{The Journal of Open Source Software}},
    year    = {2018},
    volume  = {3},
    issue   = {23},
    pages   = {597},
    doi     = {10.21105/joss.00597},
    url     = {https://doi.org/10.21105/joss.00597},
    issn    = {2475-9066}
}

Installation

Please follow the instructions in the file INSTALL.md.

Getting started

Please read the file Getting-Started.md.

Community Guidelines

Please use the issue tracker to report any problems with the software. If you want to contribute to the development of FNFT, please email Sander Wahls.

Contributors

  • Sander Wahls, KIT (since July 2023) and TU Delft (before)
  • Shrinivas Chimmalgi, TU Delft
  • Peter J. Prins, TU Delft
  • Marius Brehler, TU Dortmund
  • Lianne de Vries, student TU Delft

License

FNFT is provided under the terms of the GNU General Public License, version 2.

Acknowledgements

  • This project has received funding from the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 716669).

  • FNFT incorporates code from the Fortran library eiscor.

  • FNFT incorporates code from the C library Kiss FFT.

References

The algorithms in FNFT utilize ideas from the following references. More information can be found in the documentation of the individual routines.