N.I.M.R.O.D.  
Functions/Subroutines

lineSearch.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine searpas (vw, step, b, bh, m, delta, fim, namefunc)
 Perform line search, find a better magnitude of move.
subroutine valfpa (vw, fi, b, bk, m, delta, namefunc)
 Value of log-likelihood/function computation during the line search iterations.

Function Documentation

subroutine searpas ( double precision,intent(inout)  vw,
double precision,intent(inout)  step,
double precision,dimension(m),intent(in)  b,
double precision,dimension(m),intent(in)  bh,
integer,intent(in)  m,
double precision,dimension(m),intent(in)  delta,
double precision,intent(inout)  fim,
double precision,external  namefunc 
)

Perform line search, find a better magnitude of move.

AUTHOR : Melanie Prague Daniel Commenges Julia Drylewicz Jeremy guedj Rodolphe Thiebaut

DESCRIPTION :

This performs line search in case that the first proposed move roughtly computed from gradients do not improve the log-likelihood Line search can be performed either for global optimization (type=1) or for random effect (type=2). In each dimension, the best magnitude of move is searched iteratively.

MODIFICATION :

01/09/2012 - Prague - Refactoring 15/12/2012 - Prague - Debug options 01/01/2013 - Prague - "if(fi1.gt.fi2) goto 50" is commented. Surface is better explored. Convergences seem faster.

INFORMATIONS:

Parameters:
[in]vwMagnitude of the proposition for line search.
[in,out]stepMagnitude of the displacement during iterative search.
[in]bOptimized Parameters Value
[in]mLength of the vector of parameters to optimize.
[in,out]deltaInitial then final proposed movement
[in,out]FIMOld then New likelihood value
[in]type=1 for global optimization and =2 for random effects

Definition at line 42 of file lineSearch.f90.

References debugage::debugSEARPAS, mpimod::numproc, and valfpa().

Referenced by marquardt(), and optim().

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine valfpa ( double precision  vw,
double precision,intent(out)  fi,
double precision,dimension(m),intent(in)  b,
double precision,dimension(m),intent(out)  bk,
integer,intent(in)  m,
double precision,dimension(m),intent(in)  delta,
double precision,external  namefunc 
)

Value of log-likelihood/function computation during the line search iterations.

AUTHOR : Melanie Prague Daniel Commenges Julia Drylewicz Jeremy guedj Rodolphe Thiebaut

DESCRIPTION :

This subroutine computes the total log-likelihood (type=1) or the random-effects log-likelihood (type=2) after a parameter movement of length dexp(vw)*delta(i). This is part of the line-search.

MODIFICATION :

01/09/2012 - Prague - Refactoring 15/12/2012 - Prague - Debug options

INFORMATIONS:

Parameters:
[in]vwMagnitude of the proposition for line search.
[in]bOptimized Parameters Value
[in]mLength of the vector of parameters to optimize.
[in]deltaInitial proposed movement
[out]fiOld then New likelihood value
[in]type=1 for global optimization and =2 for random effects

Definition at line 158 of file lineSearch.f90.

References mpimod::numproc.

Referenced by searpas().

Here is the caller graph for this function: