9 #ifndef IMPCORE_CONJUGATE_GRADIENTS_H
10 #define IMPCORE_CONJUGATE_GRADIENTS_H
12 #include <IMP/core/core_config.h>
16 IMPCORE_BEGIN_NAMESPACE
37 std::string name =
"ConjugateGradients%1%");
43 void set_threshold(
Float t) { set_gradient_threshold(t); }
62 NT &f, NT &dg, NT &dg1,
int max_steps,
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
Simple conjugate gradients optimizer.
Class for storing model, its restraints, constraints, and particles.
virtual double do_optimize(unsigned int ns)=0
override this function to do actual optimization
Base class for optimizers that act on individual attributes.
double Float
Basic floating-point value (could be float, double...)
Base class for all optimizers.
void set_gradient_threshold(Float t)
Set the threshold for the minimum gradient.
void set_max_change(Float t)
Limit how far anything can change each time step.
#define IMP_OVERRIDE
Cause a compile error if this method does not override a parent method.