8 #ifndef IMPGSL_QUASI_NEWTON_H
9 #define IMPGSL_QUASI_NEWTON_H
11 #include <IMP/gsl/gsl_config.h>
15 IMPGSL_BEGIN_NAMESPACE
21 double initial_step_, line_step_, min_gradient_;
27 void set_initial_step(
double length) {
29 "The initial step is relative to the rescaled attributes"
30 <<
" and so should not be much larger than 1.");
31 initial_step_ = length;
35 void set_line_step(
double d) {
37 "The minimum size is relative to the rescaled attributes"
38 <<
" and so should not be much larger than 1 "
39 <<
"(and must be non-zero).");
44 void set_minimum_gradient(
double d) {
A base class for GSL-based optimizers.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Class for storing model, its restraints, constraints, and particles.
virtual double do_optimize(unsigned int ns)=0
override this function to do actual optimization
A quasi-Newton optimizer taken from GSL.
double Float
Basic floating-point value (could be float, double...)
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
A base class for GSL-based optimizers.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.