- Main Page
- Classes
- Files
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# sc::MCSearch Class Reference

This performs line searches with cubic steps. More...

`#include <mcsearch.h>`

Inheritance diagram for sc::MCSearch:

List of all members.

## 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_

## Detailed Description

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.

## Constructor & Destructor Documentation

sc::MCSearch::MCSearch | ( | const Ref< KeyVal > & |  | ) |

The MCSearch KeyVal CTOR does not read any input.

See the LineOpt KeyVal CTOR for parameters that it takes.

## Member Function Documentation

int sc::MCSearch::update | ( |  | ) | `[virtual]`

Take a step.

Returns 1 if the optimization has converged, otherwise 0.

Implements sc::Optimize.

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.

The documentation for this class was generated from the following file:

- mcsearch.h