SWtools:一个Python包,实现非线性Schrödinger-type方程孤子解的迭代求解器

IF 3.4 2区 物理与天体物理 Q1 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
O. Melchert , A. Demircan
{"title":"SWtools:一个Python包,实现非线性Schrödinger-type方程孤子解的迭代求解器","authors":"O. Melchert ,&nbsp;A. Demircan","doi":"10.1016/j.cpc.2025.109851","DOIUrl":null,"url":null,"abstract":"<div><div>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, <span>SWtools</span> 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.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> Solitary wave tools (<span>SWtools</span>)</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/y55t9chcz6.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://github.com/omelchert/SWtools</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> MIT</div><div><em>Programming language:</em> Python</div><div><em>Supplementary material:</em> Online documentation and usage examples are hosted on GitHub under <span><span>https://github.com/omelchert/SWtools</span><svg><path></path></svg></span>. A Code Ocean compute capsule demonstrating the calculation of a soliton solution for a higher-order nonlinear Schrödinger equation is available under <span><span>https://doi.org/10.24433/CO.5557616.v1</span><svg><path></path></svg></span>.</div><div><em>Nature of problem:</em> 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 <em>a priori</em> unknown eigenvalue, where a solution with prescribed norm is computed.</div><div><em>Solution method:</em> <span>SWtools</span> 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).</div><div><em>Additional comments including restrictions and unusual features:</em> This document serves as a reference for <span>SWtools</span>. 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 <span>SWtools</span> is, however, demonstrated by an implementation of a two-dimensional SRM [2].</div></div><div><h3>References</h3><div><ul><li><span>[1]</span><span><div>M. J. Ablowitz, Z. H. Musslimani, Spectral renormalization method for computing self-localized solutions to nonlinear systems, Opt. Lett. 30 (2005) 2140.</div></span></li><li><span>[2]</span><span><div>Z. Musslimani, J. Yang, Self-trapping of light in a two-dimensional photonic lattice, J. Opt. Soc. Am. B 21 (2004) 973.</div></span></li></ul></div></div>","PeriodicalId":285,"journal":{"name":"Computer Physics Communications","volume":"317 ","pages":"Article 109851"},"PeriodicalIF":3.4000,"publicationDate":"2025-09-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"SWtools: A Python package implementing iterative solvers for soliton solutions of nonlinear Schrödinger-type equations\",\"authors\":\"O. Melchert ,&nbsp;A. Demircan\",\"doi\":\"10.1016/j.cpc.2025.109851\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><div>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, <span>SWtools</span> 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.</div></div><div><h3>Program summary</h3><div><em>Program Title:</em> Solitary wave tools (<span>SWtools</span>)</div><div><em>CPC Library link to program files:</em> <span><span>https://doi.org/10.17632/y55t9chcz6.1</span><svg><path></path></svg></span></div><div><em>Developer's repository link:</em> <span><span>https://github.com/omelchert/SWtools</span><svg><path></path></svg></span></div><div><em>Licensing provisions:</em> MIT</div><div><em>Programming language:</em> Python</div><div><em>Supplementary material:</em> Online documentation and usage examples are hosted on GitHub under <span><span>https://github.com/omelchert/SWtools</span><svg><path></path></svg></span>. A Code Ocean compute capsule demonstrating the calculation of a soliton solution for a higher-order nonlinear Schrödinger equation is available under <span><span>https://doi.org/10.24433/CO.5557616.v1</span><svg><path></path></svg></span>.</div><div><em>Nature of problem:</em> 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 <em>a priori</em> unknown eigenvalue, where a solution with prescribed norm is computed.</div><div><em>Solution method:</em> <span>SWtools</span> 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).</div><div><em>Additional comments including restrictions and unusual features:</em> This document serves as a reference for <span>SWtools</span>. 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 <span>SWtools</span> is, however, demonstrated by an implementation of a two-dimensional SRM [2].</div></div><div><h3>References</h3><div><ul><li><span>[1]</span><span><div>M. J. Ablowitz, Z. H. Musslimani, Spectral renormalization method for computing self-localized solutions to nonlinear systems, Opt. Lett. 30 (2005) 2140.</div></span></li><li><span>[2]</span><span><div>Z. Musslimani, J. Yang, Self-trapping of light in a two-dimensional photonic lattice, J. Opt. Soc. Am. B 21 (2004) 973.</div></span></li></ul></div></div>\",\"PeriodicalId\":285,\"journal\":{\"name\":\"Computer Physics Communications\",\"volume\":\"317 \",\"pages\":\"Article 109851\"},\"PeriodicalIF\":3.4000,\"publicationDate\":\"2025-09-11\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Physics Communications\",\"FirstCategoryId\":\"101\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0010465525003534\",\"RegionNum\":2,\"RegionCategory\":\"物理与天体物理\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q1\",\"JCRName\":\"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Physics Communications","FirstCategoryId":"101","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0010465525003534","RegionNum":2,"RegionCategory":"物理与天体物理","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

摘要

孤子在自然界中无处不在,在非线性传播方程解的结构和动力学中起着关键作用。在许多期望孤子存在的情况下,这些特殊物体的解析表达式是不可用的。提出的软件填补了这一空白,允许用户通过迭代求解相关的非线性特征值问题来数值计算一般非线性Schrödinger-type方程的孤子解。该软件包实现了一系列的方法,包括频谱重整化方法,以及带附加归一化约束的问题的松弛方法。我们根据一个解析孤子表达式可用的问题验证了实现的方法,并通过数值实验证明了实现的功能,例如非线性光学和量子力学中的物质波孤子问题。对于所考虑的方程的常见变体,SWtools还实现了检索其孤子的线性稳定性特征值和模态的函数。本文提供的Python包是开源的,并在MIT许可下在一个公开可用的软件存储库中发布。程序摘要程序标题:孤波工具(SWtools)CPC库链接到程序文件:https://doi.org/10.17632/y55t9chcz6.1Developer's存储库链接:https://github.com/omelchert/SWtoolsLicensing条款:mit编程语言:python补充材料:在线文档和使用示例托管在GitHub https://github.com/omelchert/SWtools下。Code Ocean计算胶囊演示了一个高阶非线性Schrödinger方程的孤子解的计算。问题:非线性Schrödinger-type方程的孤立波解的数值计算。考虑了相应的非线性特征值问题(NEVP)的两种变体:“裸”NEVP,其中计算具有规定特征值的解,以及具有先验未知特征值的“约束”NEVP,其中计算具有规定范数的解。求解方法:SWtools实现了两个问题变体的迭代求解器。裸NEVP采用谱重整化方法(SRM)[1]求解,约束NEVP采用自定义非线性连续过松弛方法(NSOM)求解。附加注释,包括限制和不寻常的功能:本文档可作为SWtools的参考。为了简明起见,本文的讨论考虑具有一维横向坐标的非线性Schrödinger-type方程。然而,SWtools功能的扩展可以通过一个二维SRM的实现来演示。杨志强,杨志强,非线性系统自定域解的谱重整化计算方法,物理学报,30(2005):2140。杨军,杨建军,二维光子晶格中光的自捕获,光学学报。点。B 21(2004) 973。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
SWtools: A Python package implementing iterative solvers for soliton solutions of nonlinear Schrödinger-type equations
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.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Computer Physics Communications
Computer Physics Communications 物理-计算机:跨学科应用
CiteScore
12.10
自引率
3.20%
发文量
287
审稿时长
5.3 months
期刊介绍: The focus of CPC is on contemporary computational methods and techniques and their implementation, the effectiveness of which will normally be evidenced by the author(s) within the context of a substantive problem in physics. Within this setting CPC publishes two types of paper. Computer Programs in Physics (CPiP) These papers describe significant computer programs to be archived in the CPC Program Library which is held in the Mendeley Data repository. The submitted software must be covered by an approved open source licence. Papers and associated computer programs that address a problem of contemporary interest in physics that cannot be solved by current software are particularly encouraged. Computational Physics Papers (CP) These are research papers in, but are not limited to, the following themes across computational physics and related disciplines. mathematical and numerical methods and algorithms; computational models including those associated with the design, control and analysis of experiments; and algebraic computation. Each will normally include software implementation and performance details. The software implementation should, ideally, be available via GitHub, Zenodo or an institutional repository.In addition, research papers on the impact of advanced computer architecture and special purpose computers on computing in the physical sciences and software topics related to, and of importance in, the physical sciences may be considered.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信