Subject: Re: CCL:rotate molecules along princliple moments of inertia

From: Richard Gillilan <[email-masked]>
Date: Wed, 23 Oct 2002 10:12:31 -0400

This same problem pops up when I have an ensemble of
identical, but randomly-oriented bodies (proteins)
in solution and I wish to transform them all back to 
- the same - body coordinate system. You get to the body
system by diagonalizing the inertial matix, but I suspect
the problem is that eigenvalues can be returned by the 
numerical routine in any order and with any sign. The 
resulting body coordinate sytems then differ by
permutations and sign changes of axes subject to the
condition that the handedness must be preserved. I seem
to remember this has something to do with permutation groups
so that the required sign changes are related to the 
parity of the permutation (swap axes and you must change a sign
to preserve handedness). At any rate, is there a way of putting
eigenvectors in some kind of canonical order with appropriate
sign so that the diagonalization routines always land you in the
same body system?

 Richard Gillilan
 MacCHESS

---

From: Xiang Lu <[email-masked]>
Date: Wed, 23 Oct 2002 11:15:18 -0400 (EDT)

You raised a good point and there are indeed some technical details to go
into to get things "right". While I am not so sure about the mathematics and
physics involved, the procedures I used seem to work fine for my purpose:

[1] Pre-process xyz (n-by-3 matrix) to reset its orientation according to
    the reference frame of the first nucleic acid base; or as defined by the
    first 3 non-linear atoms. This will eliminate the ambiguity (e.g.,
    upside-down) associated with arbitrary initial orientation.
[2] get the co-variance matrix (real symmetric, 3-by-3).
[3] solve the eigensystem (using e.g. jacobi transformation as in Numerical
    Recipes), sort the eigenvalues, and normalize eigenvectors.
[4] check to make sure the third eigenvector is the cross product of the
    first two, otherwise reverse its sign. There are two more permutations
    which can be used to get three orthogonal views.

Does anyone out there have a more rigorous way?

Xiang-Jun

-- 
Dr. Xiang-Jun Lu            | Tel:   (732) 445 4619 (O)
Department of Chemistry     |
Rutgers University          | Fax:   (732) 445 5958
610 Taylor Road             | Email: [email-masked]
Piscataway, NJ 08854-8087   | URL: http://rutchem.rutgers.edu/~xiangjun/

>>>>> "Richard" == Richard Gillilan <[email-masked]> writes:

Richard> This same problem pops up when I have an ensemble of
Richard> identical, but randomly-oriented bodies (proteins)
Richard> in solution and I wish to transform them all back to 
Richard> - the same - body coordinate system. You get to the body
Richard> system by diagonalizing the inertial matix, but I suspect
Richard> the problem is that eigenvalues can be returned by the 
Richard> numerical routine in any order and with any sign. The 
Richard> resulting body coordinate sytems then differ by
Richard> permutations and sign changes of axes subject to the
Richard> condition that the handedness must be preserved. I seem
Richard> to remember this has something to do with permutation groups
Richard> so that the required sign changes are related to the 
Richard> parity of the permutation (swap axes and you must change a sign
Richard> to preserve handedness). At any rate, is there a way of putting
Richard> eigenvectors in some kind of canonical order with appropriate
Richard> sign so that the diagonalization routines always land you in the
Richard> same body system?

Richard>  Richard Gillilan
Richard>  MacCHESS