Madagascar Programming Reference Manual |
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 >*/ { ... }