8 #ifndef IMPGSL_GSL_OPTIMIZER_H 
    9 #define IMPGSL_GSL_OPTIMIZER_H 
   11 #include <IMP/gsl/gsl_config.h> 
   14 #include <gsl/gsl_multimin.h> 
   16 IMPGSL_BEGIN_NAMESPACE
 
   24   mutable double best_score_;
 
   38 #if !defined(IMP_DOXYGEN) && !defined(SWIG) 
   39   gsl_vector *get_state() 
const;
 
   40   void update_state(gsl_vector *x) 
const;
 
   41   void write_state(
const gsl_vector *x) 
const;
 
   43   double evaluate(
const gsl_vector *v);
 
   44   double evaluate_derivative(
const gsl_vector *v, gsl_vector *df);
 
   45   unsigned int get_dimension()
 const {
 
   49   double optimize(
unsigned int n, 
const gsl_multimin_fdfminimizer_type *t,
 
   50                   double step, 
double param, 
double min_gradient);
 
   52   double optimize(
unsigned int n, 
const gsl_multimin_fminimizer_type *t,
 
   53                   double size, 
double max_size);
 
A base class for GSL-based optimizers. 
 
double optimize(unsigned int max_steps)
Optimize the model for up to max_steps iterations. 
 
void set_stop_score(double d)
Stop the optimization if the score falls below this value. 
 
Class for storing model, its restraints, constraints, and particles. 
 
#define IMP_OBJECTS(Name, PluralName)
Define the types for storing lists of object pointers. 
 
Base class for optimizers that act on individual attributes. 
 
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method. 
 
Base class for optimizers that act on individual attributes.