![]() |
![]() |
![]() |
![]() | Madagascar Programming Reference Manual | ![]() |
![]() |
![]() |
![]() |
void sf_solver_reg (sf_operator oper /* linear operator */, sf_solverstep solv /* stepping function */, sf_operator reg /* regularization operator */, int nreg /* size of reg{x} */, 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 regularized linear solver. --- Solves oper{x} =~ dat eps reg{x} =~ 0 --- The last parameter in the call to this function should be "end". Example: --- sf_solver_reg (oper_lop,sf_cgstep,reg_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 "nlreg": sf_operator: nonlinear regularization operator "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 "resm": float*: final model residual >*/ { ... }