Monomial Symmetrization for Potential Energy Surface (PES) Fitting- MSA

The Software
MSA is software that does a linear least-squares fit (with the option of weighting) of electronic energies, using fitting bases that are invariant with respect to permutations of like atoms. The software also provides the potential gradient. The energies are given in standard format at nuclear configurations in Cartesian coordinates and typical data sets consist of roughly 10 000 to 100 000 energies. There is no restriction on the size of the data set.  A sample data set is provided as part of the download (see below).

The detailed theory and discussion of the codes are presented in the Xie and Bowman paper. Post-processing modifications (“purification” and “pruning”) to the fitting basis for applications where the PES dissociates to fragments are discussed in Conte et al.2

One more item – the variables of the fit are of the form exp(-rij/a) where rij is an internuclear distance and a = 2.5 bohr in the code.  “a” can be changed by the user.  Our experience is a value in the range 2-3 bohr is reasonable for most PESs.

How to Use the Software
We recommend that you watch the eight-minute video first. In the video we take you through the process of using this MSA software and provide an example for a fit of the H2-H2O two-body interaction potential.3





Where the Software Can be Downloaded
You can download the ‘’ file of this software on Github.

What is Needed in Order to Run the Codes

  • Fortran 90 compiler. We used the Intel® Fortran Compiler (“ifort 15.0.0 20140723”) in the example.  gfortran is also included as an option in the makefile.
  • The “dgelss” subroutine from LAPACK, which is embedded in Intel® Math Kernel Library (Intel® MKL). Freely available.
  • C++ compiler. We used the GNU Compiler Collection on our Linux cluster (“GCC 4.4.7 20120313 (Red Hat 4.4.7-16)) in the example. Freely available.
  • Perl.  We used Perl v5.10.1 (*) built for x86_64-linux-thread-multi. Freely available.
  • Python. We used Python 2.6.6.
  • Users have to provide the data set of electronic energies.

References About the Theory of this Software
1. Xie, Z., Bowman, J.M. Permutationally Invariant Polynomial Basis for Molecular Energy Surface Fitting via Monomial Symmetrization. J. Chem. Theory Comput. 2010, 6, 26-34. Link to the paper.  Please cite this as the primary reference to the MSA software.

2. R. Conte, C. Qu, and J. M. Bowman, Permutationally Invariant Fitting of Many-Body, Non-covalent Interactions with Application to Three-Body Methane–Water–Water, R. Conte, C. Qu, and J. M. Bowman, J. Chem. Theory Comput. 2015, 11, 1631-1638. Link to the paper.

3. Full-dimensional, High-level ab initio Potential Energy Surfaces for H2(H2O) and H2(H2O)2 with Application to Hydrogen Clathrate Hydrates, Z. Homayoon, R. Conte, C. Qu, and J. M. Bowman, J. Chem. Phys. 143, 084302 (2015).  Link

Contact Information
Kee Wang: at

Funding from the National Science Foundation (CHE-145227) is gratefully acknowledged.