next up previous contents [pdf] index

Next: Input parameters Up: sf_csolver Previous: Call


void sf_csolver (sf_coperator oper        /* linear operator */, 
                 sf_csolverstep solv      /* stepping function */, 
                 int nx                   /* size of x */, 
                 int ny                   /* size of dat */, 
                 sf_complex* x            /* estimated model */, 
                 const sf_complex* dat    /* data */, 
                 int niter                /* number of iterations */, 
                ...                      /* variable number of arguments */) 
/*< Generic linear solver for complex data.
  oper{x}    =~ dat
  The last parameter in the call to this function should be "end".
  sf_csolver (oper_lop,sf_cgstep,nx,ny,x,y,100,"x0",x0,"end");
  Parameters in ...:
  "wt":     float*:          weight      
  "wght":   sf_cweight wght: weighting function
  "x0":     sf_complex*:  initial model
  "nloper": sf_coperator:    nonlinear operator  
  "verb":   bool:            verbosity flag
  "known":  bool*:           known model mask
  "nmem":   int:             iteration memory
  "nfreq":  int:             periodic restart
  "xmov":   sf_complex**: model iteration
  "rmov":   sf_complex**: residual iteration
  "err":    float*:  final error
  "res":    sf_complex*:  final residual