|
MPQC
3.0.0-alpha
|
Implements backtrack line search algorithm. More...
#include <math/optimize/opt.h>
Public Member Functions | |
| Backtrack (const Ref< KeyVal > &) | |
| A KeyVal constructor is used to generate a Backtrack object from the input. More... | |
| Backtrack (StateIn &s) | |
| int | update () |
| Take a step. More... | |
| void | save_data_state (StateOut &s) |
| Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. More... | |
| int | force_search () const |
| double | decrease_factor () |
| Returns factor for sufficient decrease test. | |
| double | set_decrease_factor (double factor) |
| Sets factor for sufficient decrease test. | |
| void | print (std::ostream &=ExEnv::out0()) const |
| Print the object. | |
Public Member Functions inherited from sc::LineOpt | |
| LineOpt (StateIn &) | |
| LineOpt (const Ref< KeyVal > &) | |
| virtual void | init (RefSCVector &direction) |
| Initializes the line search object. More... | |
| virtual void | init (RefSCVector &direction, Ref< Function > function) |
| Initializes the line search object. More... | |
| void | apply_transform (const Ref< NonlinearTransform > &) |
| Applies a nonlinear transform. | |
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 | |
| int | sufficient_decrease (RefSCVector &step) |
| answers the question whether a given step satisfies the sufficient decrease (Armijo) condition More... | |
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 | decrease_factor_ |
| double | backtrack_factor_ |
| int | force_search_ |
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) |
Implements backtrack line search algorithm.
A KeyVal constructor is used to generate a Backtrack object from the input.
In addition to the keywords accepted by the KeyVal constructor of LineOpt class, it accepts the following keywords:
| Keyword | Type | Default | Description |
backtrack_factor | real | 0.1 | backtrack factor |
decrease_factor | real | 0.1 | decrease factor |
force_search | boolean | false | set to true to force the line search |
|
virtual |
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
This must be implemented by the derived class if the class has data.
Reimplemented from sc::LineOpt.
|
protected |
answers the question whether a given step satisfies the sufficient decrease (Armijo) condition
| step | trial step |
|
virtual |