IMP logo
Public Member Functions | Static Public Member Functions
IMP::core::ConjugateGradients Class Reference

Detailed Description

Simple conjugate gradients optimizer.

Algorithm is as per Shanno and Phua, ACM Transactions On Mathematical Software 6 (December 1980), 618-622

Conjugate gradients optimization is sensitive to the scales of the derivatives of the various attributes being optimized. By default, the scales are estimated from the range of values found for the attribute upon initialization. These estimates can be viewed either by calling Model::get_range(my_float_key) or by turning on TERSE logging and looking at logged messages. If this estimate does not accurately reflect the scale, then you can use Model::set_range to set a more accurate range for the parameters.

Examples: symmetry, bipartite nonbonded interactions, nonbonded interactions, rigid collisions, dock with crosslinks, analyze convergence, restrain diameter, optimize balls

+ Inheritance diagram for IMP::core::ConjugateGradients:

List of all members.

Public Member Functions

 ConjugateGradients (Model *m=nullptr)
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.

Static Public Member Functions

static ConjugateGradientsget_from (IMP::base::Object *o)

Member Function Documentation

void IMP::core::ConjugateGradients::set_gradient_threshold ( Float  t)

Set the threshold for the minimum gradient.

void IMP::core::ConjugateGradients::set_max_change ( Float  t)

Limit how far anything can change each time step.


The documentation for this class was generated from the following file:

Generated on Fri Feb 10 2012 23:36:25 for IMP by doxygen 1.7.5.1