Fletcher's trust-radius update. Returns whether the step is accepted (actual and predicted energy changes of the same sign, or both below noise_floor in magnitude) and adjusts the radius: x0.7 for a rejected step or r <= 0.25, x1.2 (up to max_radius) for r > 0.75, with r = actual / predicted.
Definition at line 113 of file trah.h.
| bool votca::xtp::trah::TrustRadius::Update |
( |
double | predicted, |
|
|
double | actual, |
|
|
double | linear, |
|
|
double | step_norm ) |
The same, with the linear term g.x and the length |x| of the step: a rejected step then sets the radius from the energy along it, E(t) = E0 + linear t + c t^2 with c = actual - linear, to the minimum t* = -linear / (2c), clamped to [0.1, 0.7] x |x| (else 0.7 x min(radius, |x|)).
Definition at line 242 of file trah.cc.