NFFT  3.4.1
Data Structures | Macros | Functions
NSFFT - Nonequispaced sparse FFT

Direct and fast computation of the nonequispaced FFT on the hyperbolic cross. More...

Data Structures

struct  nsfft_plan
 data structure for an NSFFT (nonequispaced sparse fast Fourier transform) plan with double precision More...
 

Macros

#define NSDFT   (1U<< 12)
 

Functions

void nsfft_trafo (nsfft_plan *ths)
 
void nsfft_adjoint (nsfft_plan *ths)
 
void nsfft_cp (nsfft_plan *ths, nfft_plan *ths_nfft)
 
void nsfft_init_random_nodes_coeffs (nsfft_plan *ths)
 
void nsfft_init (nsfft_plan *ths, int d, int J, int M, int m, unsigned flags)
 
void nsfft_finalize (nsfft_plan *ths)
 

Detailed Description

Direct and fast computation of the nonequispaced FFT on the hyperbolic cross.

Macro Definition Documentation

#define NSDFT   (1U<< 12)

If this flag is set, the member index_sparse_to_full is (de)allocated and initialised for the use in the routine nsfft_direct_trafo and nsdft_adjoint.

See Also
nsfft_init
Author
Stefan Kunis

Definition at line 476 of file nfft3.h.

Function Documentation

void nsfft_trafo ( nsfft_plan ths)

Executes an NSFFT, computes fast and approximate for $j=0,\dots,M-1$:

\[ f_j = \sum_{k\in H_N^d}\hat f_k {\rm e}^{-2\pi{\rm\scriptsize i}k x_j} \]

  • ths The pointer to a nsfft plan
Author
Markus Fenn, Stefan Kunis

Definition at line 1541 of file nsfft.c.

References nsfft_plan::d.

void nsfft_adjoint ( nsfft_plan ths)

Executes an adjoint NSFFT, computes fast and approximate for $k\in H_N^d$:

\[ \hat f_k = \sum_{j=0,\dots,M-1} f_j {\rm e}^{+2\pi{\rm\scriptsize i}k x_j} \]

  • ths The pointer to a nsfft plan
Author
Stefan Kunis

Definition at line 1549 of file nsfft.c.

References nsfft_plan::d.

void nsfft_cp ( nsfft_plan ths,
nfft_plan ths_nfft 
)

Copy coefficients from nsfft plan to a nfft plan.

  • ths Pointers to a nsfft plan and to a nfft plan
Author
Markus Fenn, Stefan Kunis

Definition at line 599 of file nsfft.c.

References nsfft_plan::act_nfft_plan, nsfft_plan::d, nfft_plan::f_hat, nsfft_plan::f_hat, nsfft_plan::index_sparse_to_full, nsfft_plan::M_total, nfft_plan::N_total, nsfft_plan::N_total, and nfft_plan::x.

void nsfft_init_random_nodes_coeffs ( nsfft_plan ths)

Initialisation of pseudo random nodes and coefficients.

  • ths The pointer to a nsfft plan
Author
Markus Fenn, Stefan Kunis

Definition at line 723 of file nsfft.c.

References nsfft_plan::act_nfft_plan, nsfft_plan::d, nsfft_plan::f_hat, nsfft_plan::M_total, nsfft_plan::N_total, nfft_vrand_shifted_unit_double(), nfft_vrand_unit_complex(), nfft_plan::x, nsfft_plan::x_021, and nsfft_plan::x_transposed.

void nsfft_init ( nsfft_plan ths,
int  d,
int  J,
int  M,
int  m,
unsigned  flags 
)

Initialisation of a transform plan.

  • ths The pointer to a nsfft plan
  • d The dimension
  • J The problem size
  • M The number of nodes
  • m nfft cut-off parameter
  • flags
Author
Markus Fenn, Stefan Kunis

Definition at line 1778 of file nsfft.c.

References UNUSED.

void nsfft_finalize ( nsfft_plan ths)

Destroys a transform plan.

  • ths The pointer to a nsfft plan
Author
Markus Fenn, Stefan Kunis

Definition at line 1885 of file nsfft.c.

References nsfft_plan::d.