NAME

lsqr - solve system of using lsqr method


SYNOPSIS

call lsqr(oper,x, dat, niter, eps,x0,nmem,nfreq, err,res,nloper,xmov,rmov,nort,mres,mdiag,wght,verb,known,wt)


INPUT PARAMETERS

REQUIRED PARAMETERS

oper - function
      operator (standard interface)
dat - real(:)
      data
niter - integer
      number of iterations

OPTIONAL PARAMETERS

x0 - real(:)
        Initial model
nmem - integer
      Change behavior after nmem itterations
      use in conjunction with nfreq and/or wght
nfreq - integer
      Restart step function every nfreq itterations
      after nmem steps
nloper - func
      Non-linear operator to use for forward operator
wght - func(res,m)
      Weighting funtion operator
verb - logical
      Wheter or not to be verbose
known - logical(:)
      Specify (.true.) model values that are knonw
wt - real(:)
      Weighting operator to apply to residuals
nort - integer
      Number of steps to keep when doing model
       model resolution (mdiag,mres)


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 LSQR solver.


COMMENTS

All operators must follow convetion

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


SEE ALSO

the solver_reg manpage,the solver_prec manpage,the nonlin_solver manpage,the solver manpage


LIBRARY

geef90