FNFT
Functions
fnft__akns_scatter.h File Reference

Slow forward scattering. More...

#include "fnft__akns_discretization.h"
Include dependency graph for fnft__akns_scatter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

FNFT_INT fnft__akns_scatter_matrix (const UINT D, COMPLEX const *const q, COMPLEX const *const r, const REAL eps_t, const UINT K, COMPLEX const *const lambda, COMPLEX *const result, akns_discretization_t discretization)
 Computes the scattering matrix and its derivative. More...
 

Detailed Description

Slow forward scattering.

Function Documentation

◆ fnft__akns_scatter_matrix()

FNFT_INT fnft__akns_scatter_matrix ( const UINT  D,
COMPLEX const *const  q,
COMPLEX const *const  r,
const REAL  eps_t,
const UINT  K,
COMPLEX const *const  lambda,
COMPLEX *const  result,
akns_discretization_t  discretization 
)

Computes the scattering matrix and its derivative.

The function computes the scattering matrix and the derivative of the scattering matrix with respect to \(\lambda\). The function performs slow direct scattering and is primarily based on the reference Boffetta and Osborne (J. Comput. Physics 1992 ).

Parameters
[in]DNumber of samples
[in]qArray of length D, contains samples \( q(t_n)=q(x_0, t_n) \), where \( t_n = T[0] + n(T[1]-T[0])/(D-1) \) and \(n=0,1,\dots,D-1\), of the to-be-transformed signal in ascending order (i.e., \( q(t_0), q(t_1), \dots, q(t_{D-1}) \))
[in]rArray of length D, contains samples \( r(t_n)=r(x_0, t_n) \), where \( t_n = T[0] + n(T[1]-T[0])/(D-1) \) and \(n=0,1,\dots,D-1\), of the to-be-transformed signal in ascending order (i.e., \( r(t_0), r(t_1), \dots, r(t_{D-1}) \))
[in]eps_tStep-size, eps_t \(= (T[1]-T[0])/(D-1) \).
[in]KNumber of values of \(\lambda\).
[in]lambdaArray of length K, contains the values of \(\lambda\).
[out]resultArray of length 8*K, contains the values [S11 S12 S21 S22 S11' S12' S21' S22'] where S = [S11, S12; S21, S22] is the scattering matrix.
[in]discretizationThe type of discretization to be used. Should be of type fnft_nse_discretization_t. Not all nse_discretization_t discretizations are supported. Check fnft_nse_discretization_t for list of supported types.
Returns
FNFT_SUCCESS or one of the FNFT_EC_... error codes defined in fnft_errwarn.h.