[MMTK] Orthogonality of normal modes

Ramon Crehuet rcrehuet at gmail.com
Thu Apr 12 11:13:04 UTC 2012

I have performed a normal mode calculation (Calpha) and I am not sure I
understand how to scale the modes so that they are orthonormalized. Here is
what I did. I highlight the results I do not understand:

In [142]: m1 = modes[6]

In [143]: m2 = modes[7]

In [144]: m1n = m1.scaledToNorm(1.0)

In [145]: m2n = m2.scaledToNorm(1.0)

In [146]: m1n.dotProduct(m1n)
Out[146]: 0.99999999999999933

In [147]: m1n.dotProduct(m2n)
*Out[147]: -0.03252152503309657*   <--- Shouldn't that be much closer to

In [148]: m1n.massWeightedDotProduct(m1n)
Out[148]: 111.55207167730333

In [149]: m1n.massWeightedDotProduct(m2n)
Out[149]:* -3.7296554733501353e-14*  <--- Why is this zero if they have not
been mass-wheighted scaled?

In [150]: m1mwn = m1.scaledToMassWeightedNorm(1.0)

In [151]: m2mwn = m2.scaledToMassWeightedNorm(1.0)

In [152]: m1mwn.dotProduct(m1mwn)
Out[152]: 243.25508179263176

In [153]: m1mwn.dotProduct(m2mwn)
Out[153]: -7.8259677207915503

In [154]: m1mwn.massWeightedDotProduct(m1mwn)
Out[154]: *27135.608319999963*    <------- I would expect that to be 1.0

In [155]: m1mwn.massWeightedDotProduct(m2mwn)
Out[155]: -1.1544543099262228e-11

Could someone clarify how to scale the modes so that their norm is 1.0 and
their dot product zero?
Thanks in advance,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://starship.python.net/pipermail/mmtk/attachments/20120412/f52240c8/attachment.html>

More information about the mmtk mailing list