NFFT Logo 3.0 API Reference
Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

taylor_nfft.c File Reference

Testing the nfft againt a Taylor expansion based version. More...

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include "util.h"
#include "nfft3.h"

Go to the source code of this file.

Data Structures

struct  taylor_plan

Functions

void taylor_init (taylor_plan *ths, int N, int M, int n, int m)
 Initialisation of a transform plan.
void taylor_precompute (taylor_plan *ths)
 Precomputation of weights and indices in Taylor expansion.
void taylor_finalize (taylor_plan *ths)
 Destroys a transform plan.
void taylor_trafo (taylor_plan *ths)
 Executes a Taylor-NFFT, see equation (1.1) in [Guide], computes fast and approximate by means of a Taylor expansion for j=0,.
void taylor_time_accuracy (int N, int M, int n, int m, int n_taylor, int m_taylor, unsigned test_accuracy)
 Compares NDFT, NFFT, and Taylor-NFFT.
int main (int argc, char **argv)


Detailed Description

Testing the nfft againt a Taylor expansion based version.

Author:
Stefan Kunis
References: Time and memory requirements of the Nonequispaced FFT

Definition in file taylor_nfft.c.


Function Documentation

void taylor_init taylor_plan ths,
int  N,
int  M,
int  n,
int  m
 

Initialisation of a transform plan.

  • ths The pointer to a taylor plan
  • N The multi bandwidth
  • M The number of nodes
  • n The fft length
  • m The order of the Taylor expansion
Author:
Stefan Kunis

Definition at line 37 of file taylor_nfft.c.

References FFT_OUT_OF_PLACE, FFTW_INIT, MALLOC_F, MALLOC_F_HAT, MALLOC_X, and nfft_init_guru().

Referenced by taylor_time_accuracy().

void taylor_precompute taylor_plan ths  ) 
 

Precomputation of weights and indices in Taylor expansion.

  • ths The pointer to a taylor plan
Author:
Stefan Kunis

Definition at line 56 of file taylor_nfft.c.

References taylor_plan::deltax0, taylor_plan::idx0, nfft_plan::M_total, nfft_plan::n, and nfft_plan::x.

Referenced by taylor_time_accuracy().

void taylor_finalize taylor_plan ths  ) 
 

Destroys a transform plan.

  • ths The pointer to a taylor plan
Author:
Stefan Kunis, Daniel Potts

Definition at line 78 of file taylor_nfft.c.

References taylor_plan::deltax0, taylor_plan::idx0, and nfft_finalize().

Referenced by taylor_time_accuracy().

void taylor_trafo taylor_plan ths  ) 
 

Executes a Taylor-NFFT, see equation (1.1) in [Guide], computes fast and approximate by means of a Taylor expansion for j=0,.

..,M-1 f[j] = sum_{k in I_N^d} f_hat[k] * exp(-2 (pi) k x[j])

  • ths The pointer to a taylor plan
Author:
Stefan Kunis

Definition at line 96 of file taylor_nfft.c.

References taylor_plan::deltax0, nfft_plan::f, nfft_plan::f_hat, nfft_plan::g1, nfft_plan::g2, taylor_plan::idx0, nfft_plan::m, nfft_plan::M_total, nfft_plan::my_fftw_plan1, nfft_plan::N_total, nfft_plan::n_total, and PI.

Referenced by taylor_time_accuracy().

void taylor_time_accuracy int  N,
int  M,
int  n,
int  m,
int  n_taylor,
int  m_taylor,
unsigned  test_accuracy
 

Compares NDFT, NFFT, and Taylor-NFFT.

  • N The bandwidth
  • N The number of nodes
  • n The FFT-size for the NFFT
  • m The cut-off for window function
  • n_taylor The FFT-size for the Taylor-NFFT
  • m_taylor The order of the Taylor approximation
  • test_accuracy Flag for NDFT computation
Author:
Stefan Kunis
share nodes, input, and output vectors

output vector ndft

init pseudo random nodes

nfft precomputation

nfft precomputation

init pseudo random Fourier coefficients

NDFT

NFFT

TAYLOR NFFT

finalise

Definition at line 152 of file taylor_nfft.c.

References nfft_plan::f, nfft_plan::f_hat, FFT_OUT_OF_PLACE, FFTW_INIT, nfft_plan::M_total, nfft_plan::N_total, ndft_trafo(), nfft_error_l_infty_complex(), nfft_finalize(), nfft_plan::nfft_flags, nfft_init_guru(), nfft_precompute_one_psi(), nfft_second(), NFFT_SWAP_complex, nfft_trafo(), nfft_vrand_shifted_unit_double(), nfft_vrand_unit_complex(), taylor_plan::p, PRE_FG_PSI, PRE_ONE_PSI, PRE_PHI_HUT, taylor_finalize(), taylor_init(), taylor_precompute(), taylor_trafo(), and nfft_plan::x.

Referenced by main().


Generated on 1 Nov 2006 by Doxygen 1.4.4