next up previous contents
Next: Examples Up: Library Previous: NFSFT   Contents


Inversion and solver module

The flow chart in Figure 4.1 shows how to use the inverse transforms as implemented in the solver module of the library. There is no general stopping rule implemented, since this task is highly dependent on the particular application.
Figure 4.1: Flow chart of the inverse transforms.
\begin{figure}\begin{center}
%
\unitlength0.8cm
\par\newsavebox{\bedzweig}
...
...put(11.4,1)\{ line(0,1)\{0.4\}\}
\end{picture}\par
\end{center}
\end{figure}

Each inverse transform basically wraps an already initialised Fourier transform. The user specifies one of the Algorithms 5-8 by setting one of the flags (LANDWEBER, STEEPEST_DESCENT, CGNR, CGNE). Weights and/or damping factors are used if the flags PRECOMPUTE_WEIGHT, PRECOMPUTE_DAMP are set and one has to initialise the members my_iplan.w, my_iplan.w_hat in these cases. Default flags are CGNR.

In case of the NFFT, the library defines the structure infft_plan. The members of this plan are given by Table 4.5. The user functions for the inverse NFFT are collected in Table 4.6. They all have return type void and their first argument is of type infft_plan*. Replacing nfft by any other Fourier transform gives the appropriate inverse to this transform.


Table 4.5: More important members of each inverse plan, where (FLT_TYPE) is double for the NFCT and NFST and double complex in all other cases.
Type Name Size Description
double* w M_total weights $ \ensuremath{\boldsymbol{w}}$
double* w_hat N_total damping factors $ \ensuremath{\boldsymbol{\hat w}}$
(FLT_TYPE)* y M_total right hand side $ \ensuremath{\boldsymbol{y}}$
(FLT_TYPE)* f_hat_iter N_total actual solution
(FLT_TYPE)* r_iter M_total residual vector $ \ensuremath{\boldsymbol{r}}_{l+1}$
double dot_r_iter 1 $ \Vert\ensuremath{\boldsymbol{r}}_{l+1}\Vert _{\ensuremath{\boldsymbol{W}}}^2$



Table 4.6: User functions of the inverse NFFT.
Name Additional arguments
infft_init nfft_plan *mv
infft_init_advanced nfft_plan *mv, unsigned infft_flags
infft_before_loop  
infft_loop_one_step  
infft_finalize  



next up previous contents
Next: Examples Up: Library Previous: NFSFT   Contents
Jens Keiner 2006-11-20