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.
|
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
|
double* |
w_hat |
N_total |
damping factors
|
(FLT_TYPE)* |
y |
M_total |
right hand side
|
(FLT_TYPE)* |
f_hat_iter |
N_total |
actual solution |
(FLT_TYPE)* |
r_iter |
M_total |
residual vector
|
double |
dot_r_iter |
1 |
|
|
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: Examples
Up: Library
Previous: NFSFT
Contents
Jens Keiner
2006-11-20