28 #ifndef _math_optimize_opt_h
29 #define _math_optimize_opt_h
35 #include <util/state/state.h>
36 #include <util/class/class.h>
37 #include <math/scmat/matrix.h>
38 #include <math/optimize/function.h>
39 #include <math/optimize/conv.h>
97 void set_checkpoint_file(
const char*);
116 RefSCDimension dimension()
const {
return function_->dimension(); }
127 double decrease_factor_;
129 double initial_value_;
160 {
double temp = decrease_factor_; decrease_factor_ = factor;
return temp; }
166 double backtrack_factor_;
void apply_transform(const Ref< NonlinearTransform > &)
Applies a nonlinear transform.
double set_decrease_factor(double factor)
Sets factor for sufficient decrease test.
Definition: opt.h:159
The LineOpt abstract class is used to perform one dimensional optimizations.
Definition: opt.h:123
A template class that maintains references counts.
Definition: ref.h:332
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
The Optimize class is an abstract base class for classes that find the extreme points of Function's.
Definition: opt.h:47
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
Restores objects that derive from SavableState.
Definition: statein.h:70
void set_max_iterations(int)
Set the iteration limit.
void set_checkpoint()
Set up for checkpointing.
The RefSCVector class is a smart pointer to an SCVector specialization.
Definition: matrix.h:55
Serializes objects that derive from SavableState.
Definition: stateout.h:61
virtual int update()=0
Take a step.
virtual void init()
Initialize the optimizer.
void set_function(const Ref< Function > &)
Set the function to be optimized.
double decrease_factor()
Returns factor for sufficient decrease test.
Definition: opt.h:157
Base class for objects that can save/restore state.
Definition: state.h:46
virtual int optimize()
Do the optimization.
Generated at Sun Jan 26 2020 23:33:04 for MPQC
2.3.1 using the documentation package Doxygen
1.8.16.