Find good convergence criterion for DescentMinimizer
At the moment the convergence number
is defined as delta = abs(gradient).max() * (step_length/gradient_norm)
Are there better measures? For a simple quadratic potential, this definition of delta
causes a steepest descent to not trust the (actual true) minimum.
A good measure should be independent of scale and initial conditions.
Some possible candidates are:
(new_energy.position - energy.position).norm()
(new_energy.position - energy.position).max()
((new_energy.position - energy.position)/(1+energy.position)).norm()
((new_energy.position - energy.position)/(1+energy.position)).max()
step_length
step_length / energy.position.norm()
gradient.norm()