dacase / nabc

Nonperiodic force field calculations, with a "C" language interface rather than the original interface based on the Nucleic Acid Builder (NAB) molecular manipulation language
Other
4 stars 1 forks source link

Obtaining Hessians #5

Open kyunghoon-han opened 1 month ago

kyunghoon-han commented 1 month ago

Thank you, first of all, for the excellent software.

I am having a fascinating time exploring NAB and working with some PDB files. This post is more of a question rather than an issue with the program itself.

In my research, I need to obtain explicit Hessians and their eigenvalues. I have encountered two problems in this regard:

Could you provide some insight on how to solve these two problems?

Additionally, I have heard that NAB offers symbolic or analytic second derivative methods. However, I haven't been able to find sufficient information in the documentation or online on how to effectively use these methods. Any guidance on this would be greatly appreciated.

Thank you!

Kyunghoon Han

dacase commented 1 month ago

There is no built-in method for (say) dumping the Hessian to a file. The mme2() method is in the sff/sff2.c file. You would need to modify that code to either write the Hessian out, or to use such information in some other way in code of your own.

The nmode() method diagonalizes the (mass-weighted) Hessian. See the test/tnmode.c file for an example calculation.

...hope this helps....dac

dacase commented 1 month ago

NAB (and nabc) offer analytic (not symbolic) routines to compute second derivatives. I'm not sure what you mean by "effectively use these methods". The second-derivative matrices (Hessians) constructed by mme2() use all this complicated algebra. See Section 1.4 in doc/nabc.pdf for a literature reference and some sample code. Typical uses are in Newton-Raphson minimization and normal mode analysis.