FNFT
|
Properties of the discretizations for the Korteweg-de Vries equation. More...
Go to the source code of this file.
Functions | |
FNFT_UINT | fnft__akns_discretization_degree (fnft__akns_discretization_t discretization) |
This routine returns the max degree d of the polynomials in a single scattering matrix or zero if the discretization is unknown. More... | |
FNFT_REAL | fnft__akns_discretization_boundary_coeff (fnft__akns_discretization_t discretization) |
This routine returns the boundary coefficient based on the discretization. More... | |
FNFT_INT | fnft__akns_lambda_to_z (const FNFT_UINT n, const FNFT_REAL eps_t, FNFT_COMPLEX *const vals, fnft__akns_discretization_t discretization) |
This routine maps lambda from continuous-time domain to z in the discrete-time domain based on the discretization. More... | |
FNFT_INT | fnft__akns_z_to_lambda (const FNFT_UINT n, const FNFT_REAL eps_t, FNFT_COMPLEX *const vals, fnft__akns_discretization_t discretization) |
This routine maps z from the discrete-time domain to lambda in the continuous-time domain based on the discretization. More... | |
Properties of the discretizations for the Korteweg-de Vries equation.
FNFT_REAL fnft__akns_discretization_boundary_coeff | ( | fnft__akns_discretization_t | discretization | ) |
This routine returns the boundary coefficient based on the discretization.
The boundary coefficient is the fraction of the step size that a discretized potential extends beyond the last sample. This routine returns this value based on the discretization of type fnft__akns_discretization_t.
[in] | discretization | The type of discretization to be used. Should be of type fnft__akns_discretization_t. |
FNFT_UINT fnft__akns_discretization_degree | ( | fnft__akns_discretization_t | discretization | ) |
This routine returns the max degree d of the polynomials in a single scattering matrix or zero if the discretization is unknown.
It defines the step size of the frequency grid \(z = \text{e}^{2*j*\xi*\epsilon_t/d}\) based on the discretization type.
[in] | discretization | The type of discretization to be used. Should be of type fnft_kdv_discretization_t. |
FNFT_INT fnft__akns_lambda_to_z | ( | const FNFT_UINT | n, |
const FNFT_REAL | eps_t, | ||
FNFT_COMPLEX *const | vals, | ||
fnft__akns_discretization_t | discretization | ||
) |
This routine maps lambda from continuous-time domain to z in the discrete-time domain based on the discretization.
This routine maps continuous-time domain value lambda to discrete-time domain value z = exp(2i*lambda*eps_t/degree1step), where degree1step is based on the discretization of type fnft__akns_discretization_t.
[in] | n | Number of values to be mapped. |
[in] | eps_t | Real-valued discretization step-size. |
[in,out] | vals | Pointer to location of first element of array containing complex-valued continuous-time domain spectral parameter lambda. The values are replaced with discrete-time domain values z. |
[in] | discretization | Discretization of type fnft__akns_discretization_t. |
FNFT_INT fnft__akns_z_to_lambda | ( | const FNFT_UINT | n, |
const FNFT_REAL | eps_t, | ||
FNFT_COMPLEX *const | vals, | ||
fnft__akns_discretization_t | discretization | ||
) |
This routine maps z from the discrete-time domain to lambda in the continuous-time domain based on the discretization.
This routine maps discrete-time domain value z to continuous-time domain value lambda = degree1step*log(z)/(2i*eps_t), where degree1step is based on the discretization of type fnft__akns_discretization_t.
[in] | n | Number of values to be mapped. |
[in] | eps_t | Real-valued discretization step-size. |
[in,out] | vals | Pointer to location of first element of array containing complex-valued discrete-time domain spectral parameter z. The values are replaced with continuous-time domain values lambda. |
[in] | discretization | Discretization of type fnft__akns_discretization_t. |