[gmx-users] Forces vector problem

Alexander Yakovenko yakovenko_a at ukr.net
Fri Nov 17 13:35:34 CET 2006

Thank you a lot, Erick.

>It depends on several things. First, if you are using tabulated  switch/shift/pme functions the force (=gradient) won't quite be  machine precision unless you manually change the table density (this  has improved in CVS, though).

The problem exists even for bonded interactions only (in some systems with complicated topology).

>Second, some of the minimization algorithms are very efficient at the actual minimization, but due to the large amount of floating-point operations involved they can have numerical problems well before the gradient has reached machine precision.

I have tried numerical study of the "dead end" position. The longest forces projection was used and the system couldn`t move against gradient. It means that the length of projection probably incorrect, so the third reason seems to be the most important, isn`t      it?

>Third, if you work out the math around a local minimum in energy it turns out that the smallest step resolution (along the search gradient) is roughly sqrt(EPS) rather than EPS - with large numbers of atoms involved this can easily mean the largest force on  an individual atom is significantly larger than EPS.

So the gradient (force) vector should be rescaled as dE/dx=(dE/dx)*delta_E*delta_x=(dE/dx)*|(dE/dx)|*delta_r^2, for certain delta_r which is known from steepest descent step or from l-bfgs like (delta_delta_E^T.delta_delta_x)/( delta_delta_E^T. delta_delta_E), where the point means scalar product. Am I wrong?

> Finally, we've noticed numerical problems in a couple of the algorithms when you get very close to the local minimum and are too  agressive; with L-BFGS this could lead to instabilities, so we prefer  to play it safe and be a bit more conservative (you can for instance  get situations where the gradient in the search direction is just  slightly positive, but if you take the smallest possible step you  will still go to a slightly lower energy, due to numerical limitations).

Yes, I did found a lot of problems with l-bfgs (however I had implemented unconstrained version of this algorithm), but it is rather additional evidence of wrongly scaled gradient vector than approach problems (I mean it should work fine near the minima if it receives the correct data).

Best regards, 
Alexander Yakovenko
Zabolotnogo str 150
Institute of Molecular Biology and Genetics
email: yakovenko_a at ukr.net

More information about the gromacs.org_gmx-users mailing list