9 #ifndef IMPCORE_CONJUGATE_GRADIENTS_H
10 #define IMPCORE_CONJUGATE_GRADIENTS_H
12 #include <IMP/core/core_config.h>
16 IMPCORE_BEGIN_NAMESPACE
36 std::string name =
"ConjugateGradients%1%");
42 void set_threshold(
Float t) { set_gradient_threshold(t); }
48 virtual Float do_optimize(
unsigned int max_steps) IMP_OVERRIDE;
61 NT &f, NT &dg, NT &dg1,
int max_steps,
Simple conjugate gradients optimizer.
#define IMP_OBJECT_METHODS(Name)
Define the basic things needed by any Object.
double Float
Basic floating-point value (could be float, double...)
Import IMP/kernel/AttributeOptimizer.h in the namespace.
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.
Class for storing model, its restraints, constraints, and particles.