# [gmx-users] negative eigenvalues occured and not "nearly zero"

Mark Abraham Mark.Abraham at anu.edu.au
Tue Sep 15 08:11:28 CEST 2009

```Naba wrote:
> Dear Mark,

> I am using Gromacs 4.0.5. I have invested a considerable amount of
time in
> searching literature and mailing lists to perform at least a
successful NM.
> I have posted this problem in the mailing lists but I need some quick and
> confirmed reply. So I mailed you directly, please don't mind. If
anything is
> missing in illustrating my problem kindly let me know I will try to
provide
> the missing information.

Please leave correspondence on the list. I'm not going to reply any
faster to a personal email.

> I encountered a similar problem in running NM,

quote relevant previous emails as suitable :-)

> and even if i minimized the
> whole protein in vacuum 1st with steepest descent, 2nd conjugate gradient,
> and finally l-bfgs, for 5000, 1000, and 100000 steps, respectively to
> converge the same tolerance 0.001. But only l-bfgs converges to Fmax.  I
> have tried several times to analyze the results of NM but when I saw the
> eigenval.xvg, the values are in the order of -0.2 to -0.8. So I left the
> l-bfgs gives the following output:
>
> Step 50485, Epot=-1.532957e+04, Fnorm=3.960e-04, Fmax=3.798e-03 (atom 4664)
> Step 50486, Epot=-1.532957e+04, Fnorm=1.919e-04, Fmax=1.353e-03 (atom 4664)
> Step 50487, Epot=-1.532957e+04, Fnorm=1.574e-04, Fmax=8.890e-04 (atom 3370)
>
> writing lowest energy coordinates.
>
> Low-Memory BFGS Minimizer converged to Fmax < 0.001 in 50487 steps
> Potential Energy  = -1.53295718433487e+04
> Maximum force     =  8.88978297012589e-04 on atom 3370
> Norm of force     =  1.57441192362912e-04
>
> I included .trr files in each and every energy minimization. But still when
> running NM mdrun gives the following message:
>
> Using compressed symmetric sparse Hessian format.
> Allocating Hessian memory...
>
> starting normal mode calculation 'Protein'
> 5143 steps.
>
> Maximum force: 9.75763e+02
> Maximum force probably not small enough to ensure that you are in an
> energy well. Be aware that negative eigenvalues may occur when the
> resulting matrix is diagonalized.
>
> I could not get what is wrong after going through some considerable extent
> of literature. It's really panic to have useless results since the Hessian
> comprises negative eigenvalues. My maximum force at the end of l-bfgs has
> not been taken my NM mdrun. Why??

That will depend on which structure you take for the second
minimization. You probably need to provide the full-precision structure
from the previous .trr file to grompp, not a .gro or .pdb file.

> As Mark pointed out to perturb the system in the direction of some
> eigenvector, I also feel that my system may be in some non-minimum
> stationary point. And I would like ask how to  do that?

Find the atoms with the largest motions along the corresponding
eigenvector and perturb their coordinates correspondingly by hand using
a text editor on the structure file. This is a standard quantum
chemistry technique from the days before intrinsic reaction coordinate
following methods.

> I have tested the same procedure to calculate normal modes with another
> protein with 298 residues. But same problem occurred again and again.
> However, the thread of this discussion ended with the solution to this
> problem which is to ignore gro files as they do not have precision in
> coordinates. But without a gro file how does one run grompp I could not get.

Read grompp -h. There's a flag that accepts a trajectory file as input.
You will also need to supply a full coordinate file for atom names and
such, but importantly, grompp takes the final trajectory configuration
as the starting point for the next run.

Mark

```