Add high-order NSE discretizations: CT4, fast TES4, Padé ES4/6/8, and Chebyshev–Joukowski - #85
Open
IgorChekhovskoy wants to merge 10 commits into
Open
Add high-order NSE discretizations: CT4, fast TES4, Padé ES4/6/8, and Chebyshev–Joukowski#85IgorChekhovskoy wants to merge 10 commits into
IgorChekhovskoy wants to merge 10 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This pull request adds a collection of high-order discretizations for the Zakharov–Shabat problem:
The Padé schemes use a common implementation of diagonal
[s/s]approximants, supporting degrees up to 7 with scheme-specific minimum degrees.The complete implementation is submitted as one pull request so that the maintainers can evaluate all available schemes together. I am happy to remove or adjust individual methods if some of them are not considered suitable for FNFT.
References
S. Medvedev, I. Vaseva, I. Chekhovskoy, and M. Fedoruk,
“Numerical algorithm with fourth-order accuracy for the direct Zakharov–Shabat problem,”
Optics Letters 44, 2264–2267 (2019).
https://doi.org/10.1364/OL.44.002264
S. Medvedev, I. Vaseva, I. Chekhovskoy, and M. Fedoruk,
“Exponential fourth order schemes for direct Zakharov-Shabat problem,”
Optics Express 28, 20–39 (2020).
https://doi.org/10.1364/OE.377140
S. Medvedev, I. Chekhovskoy, I. Vaseva, and M. Fedoruk,
“Conservative multi-exponential scheme for solving the direct Zakharov–Shabat scattering problem,”
Optics Letters 45, 2082–2085 (2020).
https://doi.org/10.1364/OL.387436
S. Medvedev, I. Chekhovskoy, I. Vaseva, and M. Fedoruk,
“Fast sixth-order algorithm based on the generalized Cayley transform for the Zakharov-Shabat system associated with nonlinear Schrodinger equation,”
Journal of Computational Physics 448, 110764 (2022).
https://doi.org/10.1016/j.jcp.2021.110764
S. Medvedev, I. Chekhovskoy, I. Vaseva, and M. Fedoruk,
“Fast Eighth-Order Padé Schemes Based on Chebyshev Polynomials for the Direct Zakharov-Shabat Problem,”
arXiv:2608.11892 (2026).
https://doi.org/10.48550/arXiv.2608.11892
Implementation
Authorship and licensing
The fast implementations were written by Igor Chekhovskoy. The slow ES8 C reference implementation was written jointly by Igor Chekhovskoy and Irina Vaseva.
No university or institution holds rights to the contributed code.
Testing
Performed locally with MinGW:
fnft_kdvp_test_soliton, also fails in the local unmodified baseline and is unrelated to this contribution;MATLAB runtime tests were not performed.