NAME

nonlin_solver - generic non-linear solver program


SYNOPSIS

call nonlin_solver(oper,solv,x, dat, niter,x0,err,res,xmov,rmov)


INPUT PARAMETERS

REQUIRED PARAMETERS

oper - function
      operator (standard interface)
solv - func
      Step calculation routine
dat - real(:)
      data
niter - integer
      number of iterations

OPTIONAL PARAMETERS

x0 - real(:)
       Initial model


OUTPUT PARAMETERS

REQUIRED PARAMETERS

x - real(:)
      model

OPTIONAL PARAMETERS

err - real(niter)
      Error sum((d-d~)**2)
res - real(:)
      Final residual (size of data)
xmov - real(:,niter)
      Movie of model values as a function of iter
rmov - real(:,niter)
      Movie of data residual


DESCRIPTION

 Generic non-linear solver.


COMMENTS

All operators must follow convetion

integer function (logical adj, logical add, real(:) model, real(:)data)

All solv routines must follow the convention

integer function(logical forget,real(:) x,real(:) g)

the solver_reg manpage,the solver_prec manpage,the lsqr manpage,the solver manpage


LIBRARY

geef90