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_;
26 IMPGSL_DEPRECATED_FUNCTION_DECL(2.1)
30 void set_initial_step(
double length) {
32 "The initial step is relative to the rescaled attributes"
33 <<
" and so should not be much larger than 1.");
34 initial_step_ = length;
38 void set_line_step(
double d) {
40 "The minimum size is relative to the rescaled attributes"
41 <<
" and so should not be much larger than 1 "
42 <<
"(and must be non-zero).");
47 void set_minimum_gradient(
double d) {
51 virtual Float do_optimize(
unsigned int max_steps) IMP_OVERRIDE;
A base class for GSL-based optimizers.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
A quasi-Newton optimizer taken from GSL.
double Float
Basic floating-point value (could be float, double...)
A base class for GSL-based optimizers.
Class for storing model, its restraints, constraints, and particles.