next up previous print clean
Next: Module oc_sd_mod Up: REFERENCES Previous: Module oc_solverreg_mod

Module oc_solverpre_mod

1.
Purpose: implements a preconditioned least-squares gradient solver

\begin{displaymath}
\fbox {$ \displaystyle \left [\mathcal W\mathcal L\P \atop\e...
 ...ht ] \bold p\approx \left [\mathcal W\bold D\atop0\right ] $}
 \end{displaymath}


		 $\left [\Rd\atop\Rm\right ] = \left [\mathcal W\mathcal L\P\atop\epsilon I\right ] \bold p_0- \left [\mathcal W\bold D\atop0\right ]$

iterate { $\bold g= \left [\P^*\mathcal L^*\mathcal W^*\quad\epsilon I\right ] \left [\Rd\atop\Rm\right ] $

$\left [\Gd\atop\Gm\right ] = \left [\mathcal W\mathcal L\P\atop\epsilon I\right ] \bold g$

$\left (\bold p,\left [\Rd\atop\Rm\right ] \right )\longleftarrow$step$\left (\bold p,\left [\Rd\atop\Rm\right ] ,\bold g,\left [\Gd\atop\Gm\right ] \right )
$

} $\bold m=\P\bold p$

2.
Functions and subroutines
(a)
subroutine oc_solverpre_init(niter,eps,maxmem,verb,mmovie,dmovie,resstop,rescale)

Purpose: initialize the preconditioned solver

  • niter: iterations number
  • eps: scaling factor
  • verb: verbose flag (optional)
  • mmovie: model movie output flag (optional)
  • dmovie: data movie output flag (optional)
  • resstop: stop iterations at this residual power (optional)
  • rescale: rescale model (optional)
(b)
subroutine oc_solverpre( L,P,S, x_,yy_, npre, W ,k_,p0_,res_,op1 ...op9)

Purpose: preconditioned solver

  • L: out-of-core linear operator
  • P: out-of-core preconditioning operator
  • S: gradient step
  • npre: dimension of the preconditioning output
  • W: out-of-core weighting operator
  • k_: data mask tag
  • p0_: starting model tag
  • res_: residual tag


next up previous print clean
Next: Module oc_sd_mod Up: REFERENCES Previous: Module oc_solverreg_mod
Stanford Exploration Project
4/16/2001