[gmx-users] eigenvalues and number of frames

Jose D Faraldo-Gomez jdfg_gmx at hotmail.com
Fri Apr 5 05:18:25 CEST 2002

> > Can anyone explain to me why when I use g_covar to build the > 
>covariance matrix and obtain the corresponding eigenvalues, the
> > number of (clearly)non-zero eigenvalues appear to depend on the > number 
>of frames read (if this is smaller than 3N)?

>You can think of the set of eigenvectors (and corresponding
>eigenvalues) as a set of difference vectors beteween extreme
>conformations. Obviously, there are only so many differences
>between so many conformations, so you will only have as many
>non-zero eigenvalues as there are conformations (or, actually
>one less, I think).

Thanks Anton/Bert; I think I can come to terms with this idea of the number 
of eigenvectors being equal to nframes-1 when nframes < 3N; though I'm not 
so sure how to apply this view when nframes > 3N, but in any case...

The thing that is bothering me is that I don't see how this condition 
appears in the diagonalization process in gromacs, so I must be not 
understanding either the algebra or the code.

For example, when I look at a 4ns interval using 201 and 101 frames, and I 
compare the covariance matrices (dumped by g_covar_d -debug), I don't find 
very large differences; for instance the ratio of the diagonal elements 
C(ii; 101f)/C(ii; 201 fr) is on average 0.98 +/- 0.08...

So where is the trick? Are the covariance matrices really different enough 
to give lists of precisely 100 and 200 eigenvalues? This is hard to believe 
(though I'm not very good at maths)...

By looking at the source code, I understand the matrices are passed on to 
the ql77 routine, which diagonalizes them and returns the eigenvalues and 
eigenvectors (and ql77 doesn't know what the number of frames is). I was 
looking for some sort of further maths being done on the eigenvalues, but I 
couldn't see anything in the code (in contrast, the eigenvectors lists are 
indeed truncated at nframes by default if nframes < ndim). Thus, is this 
condition imposed somewhere else? If so, where?

Thanks a lot once again,


Join the world’s largest e-mail service with MSN Hotmail. 

More information about the gromacs.org_gmx-users mailing list