|
MPQC
2.3.1
|
This performs line searches with cubic steps. More...
#include <mcsearch.h>
Public Member Functions | |
| MCSearch (const Ref< KeyVal > &) | |
| The MCSearch KeyVal CTOR does not read any input. | |
| int | update () |
| Take a step. | |
| void | init (RefSCVector &direction) |
| Initializes the line search object. | |
| void | init (RefSCVector &direction, Ref< Function > function) |
| Initializes the line search object. | |
Protected Member Functions | |
| void | mcstep (double *stx, double *fx, double *dx, double *sty, double *fy, double *dy, double *stp, double *fp, double *dp, bool *brackt, double *stpmin, double *stpmax, int *info) |
| void | mcsrch (int *n, double *x, double *f, double *g, double *s, double *stp, double *ftol, double *xtol, int *maxfev, int *info, int *nfev, double *wa) |
| void | mcinit () |
Protected Attributes | |
| double | gtol_ |
| double | stpmin_ |
| double | stpmax_ |
| double | dg |
| double | fm |
| double | fx |
| double | fy |
| double | dgm |
| double | dgx |
| double | dgy |
| double | fxm |
| double | fym |
| double | stx |
| double | sty |
| double | dgxm |
| double | dgym |
| int | infoc |
| double | finit |
| double | width |
| double | stmin |
| double | stmax |
| bool | stage1 |
| double | width1 |
| double | ftest1 |
| bool | brackt |
| double | dginit |
| double | dgtest |
| double | p |
| double | q |
| double | r__ |
| double | s |
| double | sgnd |
| double | stpc |
| double | stpf |
| double | stpq |
| double | gamma |
| double | theta |
| bool | bound |
| int | info_ |
| auto_vec< double > | wa_ |
This performs line searches with cubic steps.
It is based on the Fortran MCSRCH and MCSTEP routines produced by: Argonne National Laboratory. MINPACK Project. June 1983 Jorge J. More', David J. Thuente.
| sc::MCSearch::MCSearch | ( | const Ref< KeyVal > & | ) |
| void sc::MCSearch::init | ( | RefSCVector & | direction | ) | [virtual] |
Initializes the line search object.
Argument is a search direction. Use of this method assumes the Optimize base class already has a function object (got it from a keyval or elsewhere).
Reimplemented from sc::LineOpt.
| void sc::MCSearch::init | ( | RefSCVector & | direction, |
| Ref< Function > | function | ||
| ) | [virtual] |
Initializes the line search object.
First argument is a search direction, second argument is a function object to optimize. Use this method when a function must be passed to the Optimize base class.
Reimplemented from sc::LineOpt.
| int sc::MCSearch::update | ( | ) | [virtual] |