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
- M_total The number of nodes

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

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

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

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
- 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

- 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

- 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