MPQC
3.0.0-alpha
|
This performs line searches with cubic steps. More...
#include <math/optimize/mcsearch.h>
Public Member Functions | |
MCSearch (const Ref< KeyVal > &) | |
The MCSearch KeyVal CTOR does not read any input. More... | |
int | update () |
Take a step. More... | |
void | init (RefSCVector &direction) |
Initializes the line search object. More... | |
void | init (RefSCVector &direction, Ref< Function > function) |
Initializes the line search object. More... | |
void | print (std::ostream &=ExEnv::out0()) const |
Print the object. | |
Public Member Functions inherited from sc::LineOpt | |
LineOpt (StateIn &) | |
LineOpt (const Ref< KeyVal > &) | |
void | save_data_state (StateOut &) |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
void | apply_transform (const Ref< NonlinearTransform > &) |
Applies a nonlinear transform. | |
void | print (std::ostream &=ExEnv::out0()) const |
Print the object. | |
Public Member Functions inherited from sc::Optimize | |
Optimize (StateIn &) | |
Restore the state of a Function object. | |
Optimize (const Ref< KeyVal > &) | |
The KeyVal constructor reads the following information: More... | |
virtual int | optimize () |
Do the optimization. More... | |
void | set_checkpoint () |
Set up for checkpointing. | |
void | set_checkpoint_file (const char *) |
void | set_function (const Ref< Function > &) |
Set the function to be optimized. | |
void | set_max_iterations (int) |
Set the iteration limit. | |
Ref< Function > | function () const |
Returns information about the Function being optimized. | |
Ref< Convergence > | convergence () const |
Return information about the Convergence object being used. | |
Ref< SCMatrixKit > | matrixkit () const |
RefSCDimension | dimension () const |
Public Member Functions inherited from sc::SavableState | |
SavableState & | operator= (const SavableState &) |
void | save_state (StateOut &) |
Save the state of the object as specified by the StateOut object. More... | |
void | save_object_state (StateOut &) |
This can be used for saving state when the exact type of the object is known for both the save and the restore. More... | |
virtual void | save_vbase_state (StateOut &) |
Save the virtual bases for the object. More... | |
Public Member Functions inherited from sc::DescribedClass | |
DescribedClass (const DescribedClass &) | |
DescribedClass & | operator= (const DescribedClass &) |
ClassDesc * | class_desc () const MPQC__NOEXCEPT |
This returns the unique pointer to the ClassDesc corresponding to the given type_info object. More... | |
const char * | class_name () const |
Return the name of the object's exact type. | |
int | class_version () const |
Return the version of the class. | |
Ref< DescribedClass > | ref () |
Return this object wrapped up in a Ref smart pointer. More... | |
Public Member Functions inherited from sc::RefCount | |
size_t | identifier () const |
Return the unique identifier for this object that can be compared for different objects of different types. More... | |
int | lock_ptr () const |
Lock this object. | |
int | unlock_ptr () const |
Unlock this object. | |
void | use_locks (bool inVal) |
start and stop using locks on this object | |
refcount_t | nreference () const |
Return the reference count. | |
refcount_t | reference () |
Increment the reference count and return the new count. | |
refcount_t | dereference () |
Decrement the reference count and return the new count. | |
int | managed () const |
void | unmanage () |
Turn off the reference counting mechanism for this object. More... | |
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 Member Functions inherited from sc::Optimize | |
void | init () |
Initialize the optimizer. | |
Protected Member Functions inherited from sc::SavableState | |
SavableState (const SavableState &) | |
SavableState (StateIn &) | |
Each derived class StateIn CTOR handles the restore corresponding to calling save_object_state, save_vbase_state, and save_data_state listed above. More... | |
Protected Member Functions inherited from sc::RefCount | |
RefCount (const RefCount &) | |
RefCount & | operator= (const RefCount &) |
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_ |
Protected Attributes inherited from sc::LineOpt | |
RefSCVector | initial_x_ |
double | initial_value_ |
RefSCVector | initial_grad_ |
RefSCVector | search_direction_ |
Ref< Function > | function_ |
Protected Attributes inherited from sc::Optimize | |
int | max_iterations_ |
int | n_iterations_ |
int | ckpt_ |
int | print_timings_ |
double | max_stepsize_ |
std::string | ckpt_file_ |
Ref< Function > | function_ |
Ref< Convergence > | conv_ |
Ref< MessageGrp > | msg_ |
Additional Inherited Members | |
Static Public Member Functions inherited from sc::SavableState | |
static void | save_state (SavableState *s, StateOut &) |
static SavableState * | restore_state (StateIn &si) |
Restores objects saved with save_state. More... | |
static SavableState * | key_restore_state (StateIn &si, const char *keyword) |
Like restore_state, but keyword is used to override values while restoring. | |
static SavableState * | dir_restore_state (StateIn &si, const char *objectname, const char *keyword=0) |
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.
|
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.
|
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.
|
virtual |