NFFT  3.4.1
Data Structures | Functions
NFST - Nonequispaced fast sine transform

Direct and fast computation of the discrete nonequispaced sine transform. More...

Data Structures

struct  nfst_plan
 data structure for an NFST (nonequispaced fast sine transform) plan with double precision More...
 

Functions

void nfst_init_1d (nfst_plan *ths_plan, int N0, int M_total)
 
void nfst_init_2d (nfst_plan *ths_plan, int N0, int N1, int M_total)
 
void nfst_init_3d (nfst_plan *ths_plan, int N0, int N1, int N2, int M_total)
 
void nfst_init (nfst_plan *ths_plan, int d, int *N, int M_total)
 
void nfst_init_guru (nfst_plan *ths_plan, int d, int *N, int M_total, int *n, int m, unsigned flags, unsigned fftw_flags)
 
void nfst_precompute_psi (nfst_plan *ths)
 
void nfst_trafo (nfst_plan *ths_plan)
 
void nfst_adjoint (nfst_plan *ths_plan)
 
void nfst_finalize (nfst_plan *ths_plan)
 

Detailed Description

Direct and fast computation of the discrete nonequispaced sine transform.

Function Documentation

void nfst_init_1d ( nfst_plan ths_plan,
int  N0,
int  M_total 
)

Creates a 1-dimensional transform plan.

  • ths_plan The plan for the transform
  • N0 The bandwidth $N$
  • M_total The number of nodes $x$
Author
Steffen Klatt
void nfst_init_2d ( nfst_plan ths_plan,
int  N0,
int  N1,
int  M_total 
)

Creates a 3-dimensional transform plan.

  • ths_plan The plan for the transform
  • N0 The bandwidth of dimension 1
  • N1 The bandwidth of dimension 2
  • M_total The number of nodes $x$
Author
Steffen Klatt
void nfst_init_3d ( nfst_plan ths_plan,
int  N0,
int  N1,
int  N2,
int  M_total 
)

Creates a 3-dimensional transform plan.

  • ths_plan The plan for the transform
  • N0 The bandwidth of dimension 1
  • N1 The bandwidth of dimension 2
  • N2 The bandwidth of dimension 3
  • M_total The number of nodes $x$
Author
Steffen Klatt
void nfst_init ( nfst_plan ths_plan,
int  d,
int *  N,
int  M_total 
)

Creates a d-dimensional transform plan.

  • ths_plan The plan for the transform
  • d the dimension
  • N The bandwidths
  • M_total The number of nodes $x$
Author
Steffen Klatt
void nfst_init_guru ( nfst_plan ths_plan,
int  d,
int *  N,
int  M_total,
int *  n,
int  m,
unsigned  flags,
unsigned  fftw_flags 
)

Creates a d-dimensional transform plan.

  • ths_plan The plan for the transform
  • d the dimension
  • N The bandwidths
  • M_total The number of nodes $x$
  • n The oversampled bandwidths
  • m The cut-off parameter
  • flags The flags known to nfst
  • fftw_flags The flags known to fftw
Author
Steffen Klatt
void nfst_precompute_psi ( nfst_plan ths_plan)

precomputes the values psi if the PRE_PSI is set the application program has to call this routine after setting the nodes this_plan->x

  • ths_plan The plan for the transform
Author
Steffen Klatt
void nfst_trafo ( nfst_plan ths_plan)

executes a NFST (approximate,fast), computes for $j=0,...,M\_total-1$ $f_j^S(x_j) = \sum_{k \in I_1^{N,d}} \hat{f}_k^S * sin(2 \pi k x_j)$

  • ths_plan The plan for the transform
Author
Steffen Klatt
void nfst_adjoint ( nfst_plan ths_plan)

executes a transposed NFST (approximate,fast), computes for $k \in I_1^{N,d}$ $h^S(k) = \sum_{j \in I_0^{M\_total,1}} f_j^S * cos(2 \pi k x_j)$

  • ths_plan The plan for the transform
Author
Steffen Klatt
void nfst_finalize ( nfst_plan ths_plan)

Destroys a plan.

  • ths_plan The plan for the transform
Author
Steffen Klatt