Go to the documentation of this file.
29 #ifndef FNFT__NSE_DISCRETIZATION_H
30 #define FNFT__NSE_DISCRETIZATION_H
297 #ifdef FNFT_ENABLE_SHORT_NAMES
298 #define nse_discretization_degree(...) fnft__nse_discretization_degree(__VA_ARGS__)
299 #define nse_discretization_boundary_coeff(...) fnft__nse_discretization_boundary_coeff(__VA_ARGS__)
300 #define nse_discretization_to_akns_discretization(...) fnft__nse_discretization_to_akns_discretization(__VA_ARGS__)
301 #define nse_discretization_upsampling_factor(...) fnft__nse_discretization_upsampling_factor(__VA_ARGS__)
302 #define nse_discretization_method_order(...) fnft__nse_discretization_method_order(__VA_ARGS__)
303 #define nse_discretization_lambda_to_z(...) fnft__nse_discretization_lambda_to_z(__VA_ARGS__)
304 #define nse_discretization_z_to_lambda(...) fnft__nse_discretization_z_to_lambda(__VA_ARGS__)
305 #define nse_discretization_phase_factor_rho(...) fnft__nse_discretization_phase_factor_rho(__VA_ARGS__)
306 #define nse_discretization_phase_factor_a(...) fnft__nse_discretization_phase_factor_a(__VA_ARGS__)
307 #define nse_discretization_phase_factor_b(...) fnft__nse_discretization_phase_factor_b(__VA_ARGS__)
308 #define nse_discretization_preprocess_signal(...) fnft__nse_discretization_preprocess_signal(__VA_ARGS__)
309 #define nse_discretization_method_weights(...) fnft__nse_discretization_method_weights(__VA_ARGS__)
FNFT_UINT fnft__nse_discretization_method_order(fnft_nse_discretization_t discretization)
This routine returns the order of the method based on the discretization.
FNFT_INT fnft__nse_discretization_method_weights(FNFT_COMPLEX **weights_ptr, fnft_nse_discretization_t nse_discretization)
This routine computes various weights required by some methods based on the discretization.
int32_t FNFT_INT
Definition: fnft_numtypes.h:56
size_t FNFT_UINT
Definition: fnft_numtypes.h:62
FNFT_UINT fnft__nse_discretization_degree(fnft_nse_discretization_t nse_discretization)
This routine returns the max degree of the polynomials in a single scattering matrix or zero if the ...
FNFT_UINT fnft__nse_discretization_upsampling_factor(fnft_nse_discretization_t discretization)
This routine returns the scaling for effective number of samples based on the discretization.
fnft_nse_discretization_t
Enum that specifies discretizations and methods used to compute nonlinear Fourier transforms for the ...
Definition: fnft_nse_discretization_t.h:104
Lists discretizations for the nonlinear Schroedinger equation.
Miscellaneous functions used in the FNFT library.
FNFT_INT fnft__nse_discretization_to_akns_discretization(fnft_nse_discretization_t nse_discretization, fnft__akns_discretization_t *const akns_discretization)
This routine returns akns discretization related to the given nse discretization.
Properties of the discretizations for the Korteweg-de Vries equation.
double complex FNFT_COMPLEX
Definition: fnft_numtypes.h:47
FNFT_INT fnft__nse_discretization_phase_factor_rho(const FNFT_REAL eps_t, const FNFT_REAL T1, FNFT_REAL *const phase_factor_rho, fnft_nse_discretization_t nse_discretization)
This routine returns the phase factor for reflection coefficient ( ). It is required for applying bou...
FNFT_INT fnft__nse_discretization_preprocess_signal(const FNFT_UINT D, FNFT_COMPLEX const *const q, FNFT_REAL const eps_t, const FNFT_INT kappa, FNFT_UINT *const Dsub_ptr, FNFT_COMPLEX **q_preprocessed_ptr, FNFT_COMPLEX **r_preprocessed_ptr, FNFT_UINT *const first_last_index, fnft_nse_discretization_t discretization)
This routine preprocesses the signal by resampling and subsampling based on the discretization....
FNFT_INT fnft__nse_discretization_z_to_lambda(const FNFT_UINT n, const FNFT_REAL eps_t, FNFT_COMPLEX *const vals, fnft_nse_discretization_t discretization)
This routine maps from the discrete-time domain to in the continuous-time domain based on the discr...
double FNFT_REAL
Definition: fnft_numtypes.h:40
FNFT_REAL fnft__nse_discretization_boundary_coeff(fnft_nse_discretization_t nse_discretization)
This routine returns the boundary coefficient based on the discretization.
FNFT_INT fnft__nse_discretization_phase_factor_b(const FNFT_REAL eps_t, const FNFT_UINT D, FNFT_REAL const *const T, FNFT_REAL *const phase_factor_b, fnft_nse_discretization_t nse_discretization)
This routine returns the phase factor for b coefficient. It is required for applying boundary conditi...
fnft__akns_discretization_t
Enum that specifies discretizations used to compute nonlinear Fourier transforms of systems that fit ...
Definition: fnft__akns_discretization_t.h:103
FNFT_INT fnft__nse_discretization_lambda_to_z(const FNFT_UINT n, const FNFT_REAL eps_t, FNFT_COMPLEX *const vals, fnft_nse_discretization_t discretization)
This routine maps from continuous-time domain to in the discrete-time domain based on the discretiz...
FNFT_INT fnft__nse_discretization_phase_factor_a(const FNFT_REAL eps_t, const FNFT_UINT D, FNFT_REAL const *const T, FNFT_REAL *const phase_factor_a, fnft_nse_discretization_t nse_discretization)
This routine returns the phase factor for a coefficient. It is required for applying boundary conditi...