FNFT
|
Classes | |
struct | fnft_kdvv_opts_t |
Stores additional options for the routine fnft_kdvv. More... | |
struct | fnft_nsep_opts_t |
Stores additional options for the routine fnft_nsep. More... | |
struct | fnft_nsev_opts_t |
Stores additional options for the routine fnft_nsev. More... | |
struct | fnft_nsev_inverse_opts_t |
Stores additional options for the routine fnft_nsev_inverse. More... | |
Enumerations | |
enum | fnft_kdv_discretization_t { fnft_kdv_discretization_2SPLIT1A, fnft_kdv_discretization_2SPLIT1B, fnft_kdv_discretization_2SPLIT2A, fnft_kdv_discretization_2SPLIT2B, fnft_kdv_discretization_2SPLIT2S, fnft_kdv_discretization_2SPLIT3A, fnft_kdv_discretization_2SPLIT3B, fnft_kdv_discretization_2SPLIT3S, fnft_kdv_discretization_2SPLIT4A, fnft_kdv_discretization_2SPLIT4B, fnft_kdv_discretization_2SPLIT5A, fnft_kdv_discretization_2SPLIT5B, fnft_kdv_discretization_2SPLIT6A, fnft_kdv_discretization_2SPLIT6B, fnft_kdv_discretization_2SPLIT7A, fnft_kdv_discretization_2SPLIT7B, fnft_kdv_discretization_2SPLIT8A, fnft_kdv_discretization_2SPLIT8B, fnft_kdv_discretization_BO } |
Enum that specifies discretizations used to compute nonlinear Fourier transforms for the Korteweg-de Vries equation. More... | |
enum | fnft_nse_discretization_t { fnft_nse_discretization_2SPLIT2_MODAL, fnft_nse_discretization_BO, fnft_nse_discretization_2SPLIT1A, fnft_nse_discretization_2SPLIT1B, fnft_nse_discretization_2SPLIT2A, fnft_nse_discretization_2SPLIT2B, fnft_nse_discretization_2SPLIT2S, fnft_nse_discretization_2SPLIT3A, fnft_nse_discretization_2SPLIT3B, fnft_nse_discretization_2SPLIT3S, fnft_nse_discretization_2SPLIT4A, fnft_nse_discretization_2SPLIT4B, fnft_nse_discretization_2SPLIT5A, fnft_nse_discretization_2SPLIT5B, fnft_nse_discretization_2SPLIT6A, fnft_nse_discretization_2SPLIT6B, fnft_nse_discretization_2SPLIT7A, fnft_nse_discretization_2SPLIT7B, fnft_nse_discretization_2SPLIT8A, fnft_nse_discretization_2SPLIT8B } |
Enum that specifies discretizations used to compute nonlinear Fourier transforms for the Nonlinear Schroedinger Equation. More... | |
enum | fnft_nsep_loc_t { fnft_nsep_loc_SUBSAMPLE_AND_REFINE, fnft_nsep_loc_GRIDSEARCH, fnft_nsep_loc_MIXED } |
enum | fnft_nsep_filt_t { fnft_nsep_filt_NONE, fnft_nsep_filt_MANUAL, fnft_nsep_filt_AUTO } |
enum | fnft_nsev_bsfilt_t { fnft_nsev_bsfilt_NONE, fnft_nsev_bsfilt_BASIC, fnft_nsev_bsfilt_FULL } |
enum | fnft_nsev_bsloc_t { fnft_nsev_bsloc_FAST_EIGENVALUE, fnft_nsev_bsloc_NEWTON, fnft_nsev_bsloc_SUBSAMPLE_AND_REFINE } |
enum | fnft_nsev_dstype_t { fnft_nsev_dstype_NORMING_CONSTANTS, fnft_nsev_dstype_RESIDUES, fnft_nsev_dstype_BOTH } |
enum | fnft_nsev_cstype_t { fnft_nsev_cstype_REFLECTION_COEFFICIENT, fnft_nsev_cstype_AB, fnft_nsev_cstype_BOTH } |
enum | fnft_nsev_inverse_cstype_t { fnft_nsev_inverse_cstype_REFLECTION_COEFFICIENT, fnft_nsev_inverse_cstype_B_OF_XI, fnft_nsev_inverse_cstype_B_OF_TAU } |
enum | fnft_nsev_inverse_dstype_t { fnft_nsev_inverse_dstype_NORMING_CONSTANTS, fnft_nsev_inverse_dstype_RESIDUES } |
enum | fnft_nsev_inverse_csmethod_t { fnft_nsev_inverse_csmethod_DEFAULT, fnft_nsev_inverse_csmethod_TFMATRIX_CONTAINS_REFL_COEFF, fnft_nsev_inverse_csmethod_TFMATRIX_CONTAINS_AB_FROM_ITER, fnft_nsev_inverse_csmethod_USE_SEED_POTENTIAL_INSTEAD } |
enum | fnft__akns_discretization_t { fnft__akns_discretization_2SPLIT2_MODAL, fnft__akns_discretization_2SPLIT1A, fnft__akns_discretization_2SPLIT1B, fnft__akns_discretization_2SPLIT2A, fnft__akns_discretization_2SPLIT2B, fnft__akns_discretization_2SPLIT2S, fnft__akns_discretization_2SPLIT3A, fnft__akns_discretization_2SPLIT3B, fnft__akns_discretization_2SPLIT3S, fnft__akns_discretization_2SPLIT4A, fnft__akns_discretization_2SPLIT4B, fnft__akns_discretization_2SPLIT5A, fnft__akns_discretization_2SPLIT5B, fnft__akns_discretization_2SPLIT6A, fnft__akns_discretization_2SPLIT6B, fnft__akns_discretization_2SPLIT7A, fnft__akns_discretization_2SPLIT7B, fnft__akns_discretization_2SPLIT8A, fnft__akns_discretization_2SPLIT8B, fnft__akns_discretization_BO } |
Enum that specifies discretizations used to compute nonlinear Fourier transforms of systems that fit the AKNS model. More... | |
Enum that specifies discretizations used to compute nonlinear Fourier transforms of systems that fit the AKNS model.
All discretizations have the notation xSPLITyz
, where x
is the error order of the unsplit scheme and y
is the order of accuracy of splitting scheme. z
is the type of splitting and can be A
, B
, S
, or _MODAL
, with A
standing for schemes implemented as defined in P.J. Prins and S. Wahls, "Higher order exponential splittings for the fast non-linear Fourier transform of the KdV equation," in Proceedings 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 4524-4528). Piscataway, NJ, USA: IEEE. B
type of splitting is the same as A
with the positions of the two terms in the splitting interchanged, refered to as the dual schemes in the aforementioned reference. 'S' is for two splitting schemes not appearing therein:
-2S
is known as Symmetric Weighted Sequential Splitting (SWSS) and appears in G. Strang, "Accurate partial difference methods I: Linear Cauchy problems," in Archive for Rational Mechanics and Analysis, 12(1), 392-402, Jan 1963;
-3S
is obtained from Eq. 14.4 in S. Brustein and A. Mirin, "Third Order Difference Methods for Hyperbolic Equations," J. Comput. Phys., 5, 547-571, 1970.
fnft__akns_discretization_2SPLIT2_MODAL
is the normalized Ablowitz-Ladik discretization, Eq. 25 in Wahls and Vaibhav "Fast Inverse Nonlinear Fourier Transforms for Continuous Spectra of Zakharov-Shabat Type," Unpublished.
In general, discretizations with a lower degree are faster, while those with a highter order of accuracy are more accurate. Therefore, the best choice is normally among -2A
, -2B
, -2S
-4B
, -6B
and -8B
. The choice between these is a trade-off between speed and accuracy.
fnft__akns_discretization_2SPLIT1A
: Degree = 1, Order of accuracy = 1;
fnft__akns_discretization_2SPLIT1B
: Degree = 1, Order of accuracy = 1;
fnft__akns_discretization_2SPLIT2A
: Degree = 1, Order of accuracy = 2;
fnft__akns_discretization_2SPLIT2B
: Degree = 1, Order of accuracy = 2;
fnft__akns_discretization_2SPLIT2S
: Degree = 1, Order of accuracy = 2;
fnft__akns_discretization_2SPLIT2_MODAL
: Degree = 1, Order of accuracy = 2;
fnft__akns_discretization_2SPLIT3A
: Degree = 3, Order of accuracy = 3;
fnft__akns_discretization_2SPLIT3B
: Degree = 3, Order of accuracy = 3;
fnft__akns_discretization_2SPLIT3S
: Degree = 2, Order of accuracy = 3;
fnft__akns_discretization_2SPLIT4A
: Degree = 4, Order of accuracy = 4;
fnft__akns_discretization_2SPLIT4B
: Degree = 2, Order of accuracy = 4;
fnft__akns_discretization_2SPLIT5A
: Degree = 15, Order of accuracy = 5;
fnft__akns_discretization_2SPLIT5B
: Degree = 15, Order of accuracy = 5;
fnft__akns_discretization_2SPLIT6A
: Degree = 12, Order of accuracy = 6;
fnft__akns_discretization_2SPLIT6B
: Degree = 6, Order of accuracy = 6;
fnft__akns_discretization_2SPLIT7A
: Degree = 105, Order of accuracy = 7;
fnft__akns_discretization_2SPLIT7B
: Degree = 105, Order of accuracy = 7;
fnft__akns_discretization_2SPLIT8A
: Degree = 24, Order of accuracy = 8;
fnft__akns_discretization_2SPLIT8B
: Degree = 12, Order of accuracy = 8.
fnft__akns_discretization_BO
has been taken from Boffetta and Osborne, "Computation of the direct scattering transform for the nonlinear Schroedinger equation," J. Comput. Phys. 102(2), 1992. It is supported by fnft__nse_scatter.h.
Used in fnft__akns_fscatter.h and fnft__akns_scatter.h.
Enum that specifies discretizations used to compute nonlinear Fourier transforms for the Korteweg-de Vries equation.
All discretizations have the notation xSPLITyz
, where x
is the error order of the unsplit scheme and y
is the order of accuracy of splitting scheme. z
is the type of splitting and can be A
, B
or S
, with A
standing for schemes implemented as defined in P.J. Prins and S. Wahls, "Higher order exponential splittings for the fast non-linear Fourier transform of the KdV equation," in Proceedings 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 4524-4528). Piscataway, NJ, USA: IEEE. B
type of splitting is the same as A
with the positions of the two terms in the splitting interchanged, refered to as the dual schemes in the aforementioned reference. 'S' is for two splitting schemes not appearing therein:
-2S
is known as Symmetric Weighted Sequential Splitting (SWSS) and appears in G. Strang, "Accurate partial difference methods I: Linear Cauchy problems," in Archive for Rational Mechanics and Analysis, 12(1), 392-402, Jan 1963;
-3S
is obtained from Eq. 14.4 in S. Brustein and A. Mirin, "Third Order Difference Methods for Hyperbolic Equations," J. Comput. Phys., 5, 547-571, 1970.
In general, discretizations with a lower degree are faster, while those with a highter order of accuracy are more accurate. Therefore, the best choice is normally among -2A
, -2B
, -2S
-4B
, -6B
and -8B
. The choice between these is a trade-off between speed and accuracy.
fnft_kdv_discretization_2SPLIT1A
: Degree = 1, Order of accuracy = 1;
fnft_kdv_discretization_2SPLIT1B
: Degree = 1, Order of accuracy = 1;
fnft_kdv_discretization_2SPLIT2A
: Degree = 1, Order of accuracy = 2;
fnft_kdv_discretization_2SPLIT2B
: Degree = 1, Order of accuracy = 2;
fnft_kdv_discretization_2SPLIT2S
: Degree = 1, Order of accuracy = 2;
fnft_kdv_discretization_2SPLIT3A
: Degree = 3, Order of accuracy = 3;
fnft_kdv_discretization_2SPLIT3B
: Degree = 3, Order of accuracy = 3;
fnft_kdv_discretization_2SPLIT3S
: Degree = 2, Order of accuracy = 3;
fnft_kdv_discretization_2SPLIT4A
: Degree = 4, Order of accuracy = 4;
fnft_kdv_discretization_2SPLIT4B
: Degree = 2, Order of accuracy = 4;
fnft_kdv_discretization_2SPLIT5A
: Degree = 15, Order of accuracy = 5;
fnft_kdv_discretization_2SPLIT5B
: Degree = 15, Order of accuracy = 5;
fnft_kdv_discretization_2SPLIT6A
: Degree = 12, Order of accuracy = 6;
fnft_kdv_discretization_2SPLIT6B
: Degree = 6, Order of accuracy = 6;
fnft_kdv_discretization_2SPLIT7A
: Degree = 105, Order of accuracy = 7;
fnft_kdv_discretization_2SPLIT7B
: Degree = 105, Order of accuracy = 7;
fnft_kdv_discretization_2SPLIT8A
: Degree = 24, Order of accuracy = 8;
fnft_kdv_discretization_2SPLIT8B
: Degree = 12, Order of accuracy = 8.
fnft_kdv_discretization_BO
has been taken from Boffetta and Osborne, "Computation of the direct scattering transform for the nonlinear Schroedinger equation," J. Comput. Phys. 102(2), 1992. It is supported by fnft__kdv_scatter.h.
Used in fnft_kdvv_opts_t.
Enum that specifies discretizations used to compute nonlinear Fourier transforms for the Nonlinear Schroedinger Equation.
All discretizations have the notation xSPLITyz
, where x
is the error order of the unsplit scheme and y
is the order of accuracy of splitting scheme. z
is the type of splitting and can be A
, B
, S
, or _MODAL
, with A
standing for schemes implemented as defined in P.J. Prins and S. Wahls, "Higher order exponential splittings for the fast non-linear Fourier transform of the KdV equation," in Proceedings 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 4524-4528). Piscataway, NJ, USA: IEEE. B
type of splitting is the same as A
with the positions of the two terms in the splitting interchanged, refered to as the dual schemes in the aforementioned reference. 'S' is for two splitting schemes not appearing therein:
-2S
is known as Symmetric Weighted Sequential Splitting (SWSS) and appears in G. Strang, "Accurate partial difference methods I: Linear Cauchy problems," in Archive for Rational Mechanics and Analysis, 12(1), 392-402, Jan 1963;
-3S
is obtained from Eq. 14.4 in S. Brustein and A. Mirin, "Third Order Difference Methods for Hyperbolic Equations," J. Comput. Phys., 5, 547-571, 1970.
fnft_nse_discretization_2SPLIT2_MODAL
is the normalized Ablowitz-Ladik discretization, Eq. 25 in Wahls and Vaibhav "Fast Inverse Nonlinear Fourier Transforms for Continuous Spectra of Zakharov-Shabat Type," Unpublished.
In general, discretizations with a lower degree are faster, while those with a highter order of accuracy are more accurate. Therefore, the best choice is normally among -2A
, -2B
, -2S
-4B
, -6B
and -8B
. The choice between these is a trade-off between speed and accuracy.
fnft_nse_discretization_2SPLIT1A
: Degree = 1, Order of accuracy = 1;
fnft_nse_discretization_2SPLIT1B
: Degree = 1, Order of accuracy = 1;
fnft_nse_discretization_2SPLIT2A
: Degree = 1, Order of accuracy = 2;
fnft_nse_discretization_2SPLIT2B
: Degree = 1, Order of accuracy = 2;
fnft_nse_discretization_2SPLIT2S
: Degree = 1, Order of accuracy = 2;
fnft_nse_discretization_2SPLIT2_MODAL
: Degree = 1, Order of accuracy = 2;
fnft_nse_discretization_2SPLIT3A
: Degree = 3, Order of accuracy = 3;
fnft_nse_discretization_2SPLIT3B
: Degree = 3, Order of accuracy = 3;
fnft_nse_discretization_2SPLIT3S
: Degree = 2, Order of accuracy = 3;
fnft_nse_discretization_2SPLIT4A
: Degree = 4, Order of accuracy = 4;
fnft_nse_discretization_2SPLIT4B
: Degree = 2, Order of accuracy = 4;
fnft_nse_discretization_2SPLIT5A
: Degree = 15, Order of accuracy = 5;
fnft_nse_discretization_2SPLIT5B
: Degree = 15, Order of accuracy = 5;
fnft_nse_discretization_2SPLIT6A
: Degree = 12, Order of accuracy = 6;
fnft_nse_discretization_2SPLIT6B
: Degree = 6, Order of accuracy = 6;
fnft_nse_discretization_2SPLIT7A
: Degree = 105, Order of accuracy = 7;
fnft_nse_discretization_2SPLIT7B
: Degree = 105, Order of accuracy = 7;
fnft_nse_discretization_2SPLIT8A
: Degree = 24, Order of accuracy = 8;
fnft_nse_discretization_2SPLIT8B
: Degree = 12, Order of accuracy = 8.
fnft_nse_discretization_BO
has been taken from Boffetta and Osborne, "Computation of the direct scattering transform for the nonlinear Schroedinger equation," J. Comput. Phys. 102(2), 1992. It is supported by fnft__nse_scatter.h.
Used in fnft_nsev_opts_t, fnft_nsep_opts_t and fnft_nsev_inverse_opts_t.
enum fnft_nsep_filt_t |
Enum that controls how spectrum is filtered. Used in fnft_nsep_opts_t.
fnft_nsep_opts_filt_NONE: No filtering.
fnft_nsep_opts_filt_MANUAL: Only points within the specified fnft_nsep_opts_t::bounding_box are kept.
fnft_nsep_opts_filt_AUTO: As above, but the boundary box is chosen by the routine.
enum fnft_nsep_loc_t |
Enum that controls how spectrum is localized. Used in fnft_nsep_opts_t.
fnft_nsep_opts_loc_SUBSAMPLE_AND_REFINE: Similar approach as for fnft_nsev_opts_dsloc_SUBSAMPLE_AND_REFINE (see fnft_nsev_opts_t::bound_state_localization.)
fnft_nsep_opts_loc_GRIDSEARCH: Uses a grid search to localize roots. Can only find main and auxiliary spectrum points on the real axis. In the defocusing case, the main spectrum is always real.
fnft_nsep_opts_loc_MIXED: Uses the SUBSAMPLE_AND_REFINE method to find the non-real parts of the spectra and the GRIDSEARCH method to find the real parts.
enum fnft_nsev_bsfilt_t |
Enum that specifies how the bound states are filtered. Used in fnft_nsev_opts_t.
fnft_nsev_bsfilt_NONE: All detected roots of \( a(\lambda) \) are returned.
fnft_nsev_bsfilt_BASIC: Only roots in the upper halfplane are returned and roots very close to each other are merged.
fnft_nsev_bsfilt_FULL: Bound states in physically implausible regions are furthermore rejected.
enum fnft_nsev_bsloc_t |
Enum that specifies how the bound states are localized. Used in fnft_nsev_opts_t.
fnft_nsev_bsloc_FAST_EIGENVALUE: A rooting finding routine due to Aurentz et al. (see https://arxiv.org/abs/1611.02435 and https://github.com/eiscor/eiscor) with \( O(D^2) \) complexity is used to detect the roots of \( a(\lambda) \). (Note: FNFT incorporates a development version of this routine as no release was available yet.) This method is relatively slow, but very reliable.
fnft_nsev_bsloc_NEWTON: Newton's method is used to refine a given set of initial guesses. The discretization used for the the refinement is the one due to Boffetta and Osborne. The number of iterations is specified through the field fnft_nsev_opts_t::niter. The array bound_states passed to fnft_nsev should contain the initial guesses and *K_ptr should specify the number of initial guesses. It is sufficient if bound_states and normconst_or_residues are of length *K_ptr in this case. This method can be very fast if good initial guesses for the bound states are available. The complexity is \( O(niter (*K\_ptr) D) \).
fnft_nsev_bsloc_SUBSAMPLE_AND_REFINE: This method offers a good compromise between the other two. The method automatically finds initial guesses for the NEWTON method by first applying the FAST_EIGENVALUE method to a subsampled version of the signal. Second these initial guesses are refined using the NEWTON method. The number of samples of the subsampled signal can be controlled using the parameter Dsub in fnft_nsev_opts_t. If Dsub=0, the routine automatically choosen this number such that the complexity is \( O(D \log^2 D + niter K D) \), where \( K \) is the number of bound states that survived the filtering operation of the initial call to the fnft_nsev_bsloc_FAST_EIGENVALUE method w.r.t. the subsampled signal. By choosing Dsub between 2 and D, the user can be request a different number of samples. Note that algorithm uses this value only as an indication.
enum fnft_nsev_cstype_t |
Enum that specifies the type of the continuous spectrum computed by the routine. Used in fnft_nsev_opts_t.
fnft_nsev_cstype_REFLECTION_COEFFICIENT: The array is filled with the values of \( b(\xi)/a(\xi) \) on the grid specified in the description of fnft_nsev.
fnft_nsev_cstype_AB: The array is filled with the values of \(a(\xi)\) on the grid specified in the description of fnft_nsev, followed by the values of \( b(\xi) \) on the same grid. Note that the length of the array contspec passed by the user has to be 2*M in this case.
fnft_nsev_cstype_BOTH: The first M values of the array are filled with the values returned by the REFLECTION_COEFFICIENT method. They are followed by the 2*M values returned by the AB method. Note that the length of the array passed by the user has to be 3*M in this case.
enum fnft_nsev_dstype_t |
Enum that specifies the type of the discrete spectrum computed by the routine. Used in fnft_nsev_opts_t.
fnft_nsev_dstype_NORMING_CONSTANTS: The array is filled with the norming constants \( b_k \).
fnft_nsev_dstype_RESIDUES: The array is filled with the residues (aka spectral amplitudes) \( b_k\big/\frac{da(\lambda_k)}{d\lambda} \).
fnft_nsev_dstype_BOTH: The array contains both, first the norming constants and then the residues. Note that the length of the array passed by the user has to be 2*(*K_ptr) in this case.
Enum that specifies which algorithm is used to invert the continuous spectrum. Used in fnft_nsev_inverse_opts_t.
fnft_nsev_inverse_csmethod_DEFAULT: fnft_nsev_inverse chooses a default method based on the type of spectrum and wether we are in the defocusing case or not.
fnft_nsev_inverse_csmethod_TFMATRIX_CONTAINS_REFL_COEFF: This is essentially the algorithm in Section II of [Skaar et al, J Quantum Electron 37(2), 2001], only that we use fast inverse scattering as in [Wahls & Poor, Proc. IEEE ISIT 2015], [McClary, Geophysics 48(10), 1983] instead of conventional layer peeling.
fnft_nsev_inverse_csmethod_TFMATRIX_CONTAINS_AB_FROM_ITER: This is Algorithm 1 in the unpublished preprint http://arxiv.org/abs/1607.01305v2 . The maximum number of iterations can be controlled using the max_iter field in fnft_nsev_inverse_opts_t. Requires M=D. Defocusing case only.
fnft_nsev_inverse_csmethod_USE_SEED_POTENTIAL_INSTEAD: This algorithm adds discrete spectrum over the given seed potential. It uses Boffetta and Osborne (J. Comput. Physics 1992 ) method to compute the intermediate eigenfunctions and then uses the classical Darboux transform in [Lin, J. Acta Mathematicae Applicatae Sinica (1990) 6: 308] to add the discrete spectrum.
Enum that specifies in which form the continuous spectrum is provided. Used in fnft_nsev_inverse_opts_t.
fnft_nsev_inverse_cstype_REFLECTION_COEFFICIENT: The array contspec contains samples of \( b(\xi)/a(\xi) \) on the grid specified through the input XI to fnft_nsev_inverse.
fnft_nsev_inverse_cstype_B_OF_XI: The array contspec contains samples of \( b(\xi) \) on the grid specified through the input XI to fnft_nsev_inverse.
fnft_nsev_inverse_cstype_B_OF_TAU: The array contspec contains samples of the inverse Fourier transform \({ B(\tau) = \frac{1}{2\pi} \int_{-\infty}^\infty b(\xi) e^{j \xi \tau} d\tau }\) of \( b(\xi) \) at the locations \( \tau_n = 2t_n \), \( n=0,1,\dots,D-1 \), where the \( t_n \) are the locations at which \( q(t) \) is computed. The default (and currently only implemented) method for this type of spectrum is described in [Wahls 2017]. It is currently REQUIRED that the time window is symmetric, T[0]=-T[1].
Enum that specifies in which form the discrete spectrum is provided. Used in fnft_nsev_inverse_opts_t.
fnft_nsev_inverse_dstype_NORMING_CONSTANTS: The array normconsts_or_residues contains samples of \( b(\xi)\) for the values of bound_states provided as input to fnft_nsev_inverse.
fnft_nsev_inverse_dstype_RESIDUES: The array normconsts_or_residues contains samples of the of \( \frac{b(\xi)}{\partial{a(\xi)}/\partial{\xi}}\) for the values of bound_states provided as input to fnft_nsev_inverse.