FNFT
Loading...
Searching...
No Matches
Public Attributes | List of all members
fnft_nsev_opts_t Struct Reference

Stores additional options for the routine fnft_nsev. More...

#include <fnft_nsev.h>

Public Attributes

fnft_nsev_bsfilt_t bound_state_filtering
 
fnft_nsev_bsloc_t bound_state_localization
 
FNFT_UINT niter
 
FNFT_REAL tol
 
FNFT_UINT Dsub
 
fnft_nsev_dstype_t discspec_type
 
fnft_nsev_cstype_t contspec_type
 
FNFT_INT normalization_flag
 
fnft_nse_discretization_t discretization
 
FNFT_UINT richardson_extrapolation_flag
 
FNFT_REAL bounding_box [4]
 

Detailed Description

Stores additional options for the routine fnft_nsev.

Use the fnft_nsev_default_opts routine in order to generate a new variable of this type with default options and modify as needed.

Member Data Documentation

◆ bound_state_filtering

fnft_nsev_opts_t::bound_state_filtering

Controls how fnft_nsev decide whether a numerically found root of \( a(\lambda) \) is an actual bound state or not.
Should be of type fnft_nsev_bsfilt_t.

◆ bound_state_localization

fnft_nsev_opts_t::bound_state_localization

Controls how fnft_nsev localizes bound states.
Should be of type fnft_nsev_bsloc_t.

◆ bounding_box

fnft_nsev_opts_t::bounding_box

Array of four reals. Defines a box in the complex plane that is used for manual filtering:
bounding_box[0] <= real(lambda) <= bounding_box[1]
bounding_box[2] <= imag(lambda) <= bounding_box[3]

◆ contspec_type

fnft_nsev_opts_t::contspec_type

Controls how fnft_nsev fills the array contspec.
Should be of type fnft_nsev_cstype_t.

◆ discretization

fnft_nsev_opts_t::discretization

Controls which discretization is applied to the continuous-time Zakharov- Shabat scattering problem. See fnft_nse_discretization_t.

◆ discspec_type

fnft_nsev_opts_t::discspec_type

Controls how fnft_nsev fills the array normconsts_or_residues.
Should be of type fnft_nsev_dstype_t.

◆ Dsub

fnft_nsev_opts_t::Dsub

Controls how many samples are used after subsampling when bound states are localized using the fnft_nsev_bsloc_SUBSAMPLE_AND_REFINE method. See fnft_nsev_bsloc_t for details.

◆ niter

fnft_nsev_opts_t::niter

For fnft_nsev_bsloc_NEWTON and fnft_nsev_bsloc_SUBSAMPLE_AND_REFINE: Maximum number of Newton iterations to be carried out.

◆ normalization_flag

fnft_nsev_opts_t::normalization_flag

Controls whether intermediate results during the fast forward scattering step are normalized. This takes a bit longer but sometimes increases the accuracy of the results. By default, normalization is enabled (i.e., the flag is one). To disable, set the flag to zero.

◆ richardson_extrapolation_flag

fnft_nsev_opts_t::richardson_extrapolation_flag

Controls whether Richardson extrapolation is applied to try and improve the accuracy of the computed spectrum. First approximation is computed as usual using all the supplied samples. A second approximation is computed using only half the samples and it is combined with the first approximation which should ideally result in a better approximation. See Chimmalgi, Prins and Wahls, " Fast Nonlinear Fourier Transform Algorithms Using Higher Order Exponential Integrators," IEEE Access 7, 2019. Note that in certain situations such as discontinuous signals, applying Richardson extrapolation may result in worse accuracy compared to the first approximation. By default, Richardson extrapolation is disabled (i.e., the flag is zero). To enable, set the flag to one.

◆ tol

fnft_nsev_opts_t::tol

Some bound state localization methods such as Newton have tolerance parameters. If this value is negative, these parameters will be chosen automatically. Set to a non-negative value to chose the tolerance manually.


The documentation for this struct was generated from the following file: