Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

solver.h

00001 #ifndef solver_h_inc
00002 #define solver_h_inc
00003 
00004 #include <complex.h>
00005 #include "nfft3.h"
00006 
00010 #define LANDWEBER               (1U<< 0)
00011 #define STEEPEST_DESCENT        (1U<< 1)
00012 #define CGNR                    (1U<< 2)
00013 #define CGNE                    (1U<< 3)
00014 #define NORMS_FOR_LANDWEBER     (1U<< 4)
00015 #define PRECOMPUTE_WEIGHT       (1U<< 5)
00016 #define PRECOMPUTE_DAMP         (1U<< 6)
00017 #define REGULARIZE_CGNR         (1U<< 7)
00018 #define REGULARIZE_CGNR_R_HAT   (1U<< 8)
00019 
00020 typedef struct infft_plan_ 
00021 {
00022   nfft_plan *mv;                
00023   unsigned flags;                       
00025   double *w;                            
00026   double *w_hat;                        
00027   double *r_hat;                        
00028   double lambda;                        
00030   /* right hand side */
00031   complex *y;                
00033   /* solution */ 
00034   complex *f_hat_iter;             
00036   /* vectors */
00037   complex *r_iter;                 
00038   complex *z_hat_iter;             
00039   complex *p_hat_iter;             
00040   complex *v_iter;                 
00042   /* factors */
00043   double alpha_iter;                    
00044   double beta_iter;                     
00046   /* dot products */
00047   double dot_r_iter;                    
00048   double dot_r_iter_old;                
00049   double dot_z_hat_iter;                
00050   double dot_z_hat_iter_old;            
00051   double dot_p_hat_iter;                
00052   double dot_v_iter;                    
00053 } infft_plan;
00054 
00057 void infft_init(infft_plan *ths, nfft_plan *mv);
00058 
00061 void infft_init_specific(infft_plan *ths, nfft_plan *mv, int infft_flags);
00062 
00065 void infft_before_loop(infft_plan *ths);
00066 
00069 void infft_loop_one_step(infft_plan *ths);
00070 
00073 void infft_finalize(infft_plan *ths);
00077 #endif

Generated on Wed May 10 20:39:39 2006 for NFFT by  doxygen 1.4.4