[MMTK] symeig change to eigh

Konrad Hinsen research at khinsen.fastmail.net
Mon Apr 23 14:15:14 UTC 2012

ra.biehl writes:

 > scipy.linalg.eigh has the option to calculate only the set of n to m eigenmodes.
 > I attach a small diff snippet for Core.py and VibrationalModes.py to allow this, if
 > scipy.linalg.eigh is there. The others XXXXModes.py files need the same change.
 > On a system with 6350 atoms the full normal mode calculation time (Amber FF: about 14000s) is reduced by a factor of 3 if only the first 100 normal modes (Amber FF: about 5000s) are calculated.
 > Just as an Idea if you want to integrate it.

It does look interesting, but I am not particularly fond of the idea
of having an option for normal modes that works only if SciPy is

 > I tried to understand the change for SparseMatrixNormalModes, but
 > for that the mentioned interface to ARPACK is necessary. Due to
 > that i found that there is an alternative interface, again in
 > scipy, that uses ARPACK.  It is found in
 > scipy.sparse.linalg.eigh. Perhaps this solves the somewhere
 > mentioned licensing problem and will allow the usage of
 > SparseMatrixNormalModes

That's worth exploring, at the very least for the licensing stuff. But
again this raises the question of a dependence on SciPy. I certainly
don't want to make SciPy a prerequisite for installing MMTK, given
that it's a real pain to install from scratch.

I'll put all of that on my to-do list!

Konrad Hinsen
Centre de Biophysique Moléculaire, CNRS Orléans
Synchrotron Soleil - Division Expériences
Saint Aubin - BP 48
91192 Gif sur Yvette Cedex, France
Tel. +33-1 69 35 97 15
E-Mail: research AT khinsen DOT fastmail DOT net

More information about the mmtk mailing list