next up previous contents [pdf] index

Next: Input parameters Up: sf_solver_prec Previous: Call

Definition

void sf_solver_prec (sf_operator oper   /* linear operator */, 
                     sf_solverstep solv /* stepping function */, 
                     sf_operator prec   /* preconditioning operator */, 
                     int nprec          /* size of p */, 
                     int nx             /* size of x */, 
                     int ny             /* size of dat */, 
                     float* x           /* estimated model */, 
                     const float* dat   /* data */, 
                     int niter          /* number of iterations */, 
                     float eps          /* regularization parameter */, 
                    ...                /* variable number of arguments */) 
/*< Generic preconditioned linear solver.
 ---
 Solves
 oper{x} =~ dat
 eps p   =~ 0
 where x = prec{p}
 ---
 The last parameter in the call to this function should be "end".
 Example: 
 ---
 sf_solver_prec (oper_lop,sf_cgstep,prec_lop,
 np,nx,ny,x,y,100,1.0,"x0",x0,"end");
 ---
 Parameters in ...:
 ... 
 "wt":     float*:         weight      
 "wght":   sf_weight wght: weighting function
 "x0":     float*:         initial model
 "nloper": sf_operator:    nonlinear operator  
 "mwt":    float*:         model weight
 "verb":   bool:           verbosity flag
 "known":  bool*:          known model mask
 "nmem":   int:            iteration memory
 "nfreq":  int:            periodic restart
 "xmov":   float**:        model iteration
 "rmov":   float**:        residual iteration
 "err":    float*:         final error
 "res":    float*:         final residual
 "xp":     float*:         preconditioned model
 >*/
{
   ...
}




2011-07-02