SWtools: A Python package implementing iterative solvers for soliton solutions of nonlinear Schrödinger-type equations

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Forschungs-netzwerk anzeigen

Details

OriginalspracheEnglisch
Aufsatznummer109851
Seitenumfang15
FachzeitschriftComputer physics communications
Jahrgang317
Frühes Online-Datum11 Sept. 2025
PublikationsstatusVeröffentlicht - Dez. 2025

Abstract

Solitons are ubiquitous in nature and play a pivotal role in the structure and dynamics of solutions of nonlinear propagation equations. In many instances where solitons are expected to exist, analytical expressions of these special objects are not available. The presented software fills this gap, allowing users to numerically calculate soliton solutions for a generic nonlinear Schrödinger-type equation by iteratively solving an associated nonlinear eigenvalue problem. The package implements a range of methods, including the spectral renormalization method, and a relaxation method for the problem with additional normalization constraint. We verify the implemented methods in terms of a problem for which an analytical soliton expression is available, and demonstrate the implemented functionality by numerical experiments for example problems in nonlinear optics and matter-wave solitons in quantum mechanics. For common variants of the considered equation, SWtools also implements functions retrieving linear stability eigenvalues and modes for its solitons. The presented Python package is open-source and released under the MIT License in a publicly available software repository. Program summary: Program Title: Solitary wave tools (SWtools) CPC Library link to program files: https://doi.org/10.17632/y55t9chcz6.1 Developer's repository link: https://github.com/omelchert/SWtools Licensing provisions: MIT Programming language: Python Supplementary material: Online documentation and usage examples are hosted on GitHub under https://github.com/omelchert/SWtools. A Code Ocean compute capsule demonstrating the calculation of a soliton solution for a higher-order nonlinear Schrödinger equation is available under https://doi.org/10.24433/CO.5557616.v1. Nature of problem: Numerical computation of solitary wave solutions for nonlinear Schrödinger-type equations. Two variants of the corresponding nonlinear eigenvalue problem (NEVP) are considered: a “bare” NEVP, where a solution with prescribed eigenvalue is computed, and a “constrained” NEVP with a priori unknown eigenvalue, where a solution with prescribed norm is computed. Solution method: SWtools implements iterative solvers for both problem variants. While the bare NEVP is solved using the spectral renormalization method (SRM) [1], the constrained NEVP is solved using a custom nonlinear successive overrelaxation method (NSOM). Additional comments including restrictions and unusual features: This document serves as a reference for SWtools. For a concise presentation, the discussion in the article considers nonlinear Schrödinger-type equations with one-dimensional transverse coordinate. Extension of the functionality of SWtools is, however, demonstrated by an implementation of a two-dimensional SRM [2]. References: [1] M. J. Ablowitz, Z. H. Musslimani, Spectral renormalization method for computing self-localized solutions to nonlinear systems, Opt. Lett. 30 (2005) 2140. [2] Z. Musslimani, J. Yang, Self-trapping of light in a two-dimensional photonic lattice, J. Opt. Soc. Am. B 21 (2004) 973.

ASJC Scopus Sachgebiete

Zitieren

SWtools: A Python package implementing iterative solvers for soliton solutions of nonlinear Schrödinger-type equations. / Melchert, O.; Demircan, A.
in: Computer physics communications, Jahrgang 317, 109851, 12.2025.

Publikation: Beitrag in FachzeitschriftArtikelForschungPeer-Review

Download
@article{2ab9ccfe3d164ed7a11c9ee82a2e701e,
title = "SWtools: A Python package implementing iterative solvers for soliton solutions of nonlinear Schr{\"o}dinger-type equations",
abstract = "Solitons are ubiquitous in nature and play a pivotal role in the structure and dynamics of solutions of nonlinear propagation equations. In many instances where solitons are expected to exist, analytical expressions of these special objects are not available. The presented software fills this gap, allowing users to numerically calculate soliton solutions for a generic nonlinear Schr{\"o}dinger-type equation by iteratively solving an associated nonlinear eigenvalue problem. The package implements a range of methods, including the spectral renormalization method, and a relaxation method for the problem with additional normalization constraint. We verify the implemented methods in terms of a problem for which an analytical soliton expression is available, and demonstrate the implemented functionality by numerical experiments for example problems in nonlinear optics and matter-wave solitons in quantum mechanics. For common variants of the considered equation, SWtools also implements functions retrieving linear stability eigenvalues and modes for its solitons. The presented Python package is open-source and released under the MIT License in a publicly available software repository. Program summary: Program Title: Solitary wave tools (SWtools) CPC Library link to program files: https://doi.org/10.17632/y55t9chcz6.1 Developer's repository link: https://github.com/omelchert/SWtools Licensing provisions: MIT Programming language: Python Supplementary material: Online documentation and usage examples are hosted on GitHub under https://github.com/omelchert/SWtools. A Code Ocean compute capsule demonstrating the calculation of a soliton solution for a higher-order nonlinear Schr{\"o}dinger equation is available under https://doi.org/10.24433/CO.5557616.v1. Nature of problem: Numerical computation of solitary wave solutions for nonlinear Schr{\"o}dinger-type equations. Two variants of the corresponding nonlinear eigenvalue problem (NEVP) are considered: a “bare” NEVP, where a solution with prescribed eigenvalue is computed, and a “constrained” NEVP with a priori unknown eigenvalue, where a solution with prescribed norm is computed. Solution method: SWtools implements iterative solvers for both problem variants. While the bare NEVP is solved using the spectral renormalization method (SRM) [1], the constrained NEVP is solved using a custom nonlinear successive overrelaxation method (NSOM). Additional comments including restrictions and unusual features: This document serves as a reference for SWtools. For a concise presentation, the discussion in the article considers nonlinear Schr{\"o}dinger-type equations with one-dimensional transverse coordinate. Extension of the functionality of SWtools is, however, demonstrated by an implementation of a two-dimensional SRM [2]. References: [1] M. J. Ablowitz, Z. H. Musslimani, Spectral renormalization method for computing self-localized solutions to nonlinear systems, Opt. Lett. 30 (2005) 2140. [2] Z. Musslimani, J. Yang, Self-trapping of light in a two-dimensional photonic lattice, J. Opt. Soc. Am. B 21 (2004) 973.",
keywords = "Nonlinear Schr{\"o}dinger equation, Python, Relaxation method, Solitary waves, Spectral renormalization method",
author = "O. Melchert and A. Demircan",
note = "Publisher Copyright: {\textcopyright} 2025 The Authors",
year = "2025",
month = dec,
doi = "10.1016/j.cpc.2025.109851",
language = "English",
volume = "317",
journal = "Computer physics communications",
issn = "0010-4655",
publisher = "Elsevier BV",

}

Download

TY - JOUR

T1 - SWtools

T2 - A Python package implementing iterative solvers for soliton solutions of nonlinear Schrödinger-type equations

AU - Melchert, O.

AU - Demircan, A.

N1 - Publisher Copyright: © 2025 The Authors

PY - 2025/12

Y1 - 2025/12

N2 - Solitons are ubiquitous in nature and play a pivotal role in the structure and dynamics of solutions of nonlinear propagation equations. In many instances where solitons are expected to exist, analytical expressions of these special objects are not available. The presented software fills this gap, allowing users to numerically calculate soliton solutions for a generic nonlinear Schrödinger-type equation by iteratively solving an associated nonlinear eigenvalue problem. The package implements a range of methods, including the spectral renormalization method, and a relaxation method for the problem with additional normalization constraint. We verify the implemented methods in terms of a problem for which an analytical soliton expression is available, and demonstrate the implemented functionality by numerical experiments for example problems in nonlinear optics and matter-wave solitons in quantum mechanics. For common variants of the considered equation, SWtools also implements functions retrieving linear stability eigenvalues and modes for its solitons. The presented Python package is open-source and released under the MIT License in a publicly available software repository. Program summary: Program Title: Solitary wave tools (SWtools) CPC Library link to program files: https://doi.org/10.17632/y55t9chcz6.1 Developer's repository link: https://github.com/omelchert/SWtools Licensing provisions: MIT Programming language: Python Supplementary material: Online documentation and usage examples are hosted on GitHub under https://github.com/omelchert/SWtools. A Code Ocean compute capsule demonstrating the calculation of a soliton solution for a higher-order nonlinear Schrödinger equation is available under https://doi.org/10.24433/CO.5557616.v1. Nature of problem: Numerical computation of solitary wave solutions for nonlinear Schrödinger-type equations. Two variants of the corresponding nonlinear eigenvalue problem (NEVP) are considered: a “bare” NEVP, where a solution with prescribed eigenvalue is computed, and a “constrained” NEVP with a priori unknown eigenvalue, where a solution with prescribed norm is computed. Solution method: SWtools implements iterative solvers for both problem variants. While the bare NEVP is solved using the spectral renormalization method (SRM) [1], the constrained NEVP is solved using a custom nonlinear successive overrelaxation method (NSOM). Additional comments including restrictions and unusual features: This document serves as a reference for SWtools. For a concise presentation, the discussion in the article considers nonlinear Schrödinger-type equations with one-dimensional transverse coordinate. Extension of the functionality of SWtools is, however, demonstrated by an implementation of a two-dimensional SRM [2]. References: [1] M. J. Ablowitz, Z. H. Musslimani, Spectral renormalization method for computing self-localized solutions to nonlinear systems, Opt. Lett. 30 (2005) 2140. [2] Z. Musslimani, J. Yang, Self-trapping of light in a two-dimensional photonic lattice, J. Opt. Soc. Am. B 21 (2004) 973.

AB - Solitons are ubiquitous in nature and play a pivotal role in the structure and dynamics of solutions of nonlinear propagation equations. In many instances where solitons are expected to exist, analytical expressions of these special objects are not available. The presented software fills this gap, allowing users to numerically calculate soliton solutions for a generic nonlinear Schrödinger-type equation by iteratively solving an associated nonlinear eigenvalue problem. The package implements a range of methods, including the spectral renormalization method, and a relaxation method for the problem with additional normalization constraint. We verify the implemented methods in terms of a problem for which an analytical soliton expression is available, and demonstrate the implemented functionality by numerical experiments for example problems in nonlinear optics and matter-wave solitons in quantum mechanics. For common variants of the considered equation, SWtools also implements functions retrieving linear stability eigenvalues and modes for its solitons. The presented Python package is open-source and released under the MIT License in a publicly available software repository. Program summary: Program Title: Solitary wave tools (SWtools) CPC Library link to program files: https://doi.org/10.17632/y55t9chcz6.1 Developer's repository link: https://github.com/omelchert/SWtools Licensing provisions: MIT Programming language: Python Supplementary material: Online documentation and usage examples are hosted on GitHub under https://github.com/omelchert/SWtools. A Code Ocean compute capsule demonstrating the calculation of a soliton solution for a higher-order nonlinear Schrödinger equation is available under https://doi.org/10.24433/CO.5557616.v1. Nature of problem: Numerical computation of solitary wave solutions for nonlinear Schrödinger-type equations. Two variants of the corresponding nonlinear eigenvalue problem (NEVP) are considered: a “bare” NEVP, where a solution with prescribed eigenvalue is computed, and a “constrained” NEVP with a priori unknown eigenvalue, where a solution with prescribed norm is computed. Solution method: SWtools implements iterative solvers for both problem variants. While the bare NEVP is solved using the spectral renormalization method (SRM) [1], the constrained NEVP is solved using a custom nonlinear successive overrelaxation method (NSOM). Additional comments including restrictions and unusual features: This document serves as a reference for SWtools. For a concise presentation, the discussion in the article considers nonlinear Schrödinger-type equations with one-dimensional transverse coordinate. Extension of the functionality of SWtools is, however, demonstrated by an implementation of a two-dimensional SRM [2]. References: [1] M. J. Ablowitz, Z. H. Musslimani, Spectral renormalization method for computing self-localized solutions to nonlinear systems, Opt. Lett. 30 (2005) 2140. [2] Z. Musslimani, J. Yang, Self-trapping of light in a two-dimensional photonic lattice, J. Opt. Soc. Am. B 21 (2004) 973.

KW - Nonlinear Schrödinger equation

KW - Python

KW - Relaxation method

KW - Solitary waves

KW - Spectral renormalization method

UR - http://www.scopus.com/inward/record.url?scp=105015890857&partnerID=8YFLogxK

U2 - 10.1016/j.cpc.2025.109851

DO - 10.1016/j.cpc.2025.109851

M3 - Article

AN - SCOPUS:105015890857

VL - 317

JO - Computer physics communications

JF - Computer physics communications

SN - 0010-4655

M1 - 109851

ER -

Von denselben Autoren