CheMPS2 Documentation

CheMPS2 Logo

CheMPS2: a spin-adapted implementation of DMRG for ab initio quantum chemistry

Copyright (C) 2013-2016 Sebastian Wouters

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.


CheMPS2 is a scientific library which contains a spin-adapted implementation of the density matrix renormalization group (DMRG) for ab initio quantum chemistry. This wavefunction method allows to obtain numerical accuracy in active spaces beyond the capabilities of full configuration interaction (FCI), and allows to extract the 2-, 3-, and 4-particle reduced density matrices (2-, 3- and 4-RDM) of the active space.

For general active spaces up to 40 electrons in 40 orbitals can be handled with DMRG, and for one-dimensional active spaces up to 100 electrons in 100 orbitals. The 2-RDM of these active spaces can also be easily extracted, while the 3- and 4-RDM are limited to about 28 orbitals.

When the active space size becomes prohibitively expensive for FCI, DMRG can be used to replace the FCI solver in the complete active space self consistent field (CASSCF) method and the corresponding complete active space second order perturbation theory (CASPT2). The corresponding methods are called DMRG-SCF and DMRG-CASPT2, respectively. For DMRG-SCF the active space 2-RDM is required, and for DMRG-CASPT2 the active space 4-RDM.

CheMPS2 is designed for high-performance computers, with a hybrid parallelization for mixed distributed and shared memory architectures, realized with the Message Passing Interface (MPI) and the Open Multi-Processing (OpenMP) API.

The CheMPS2 library can be interfaced with quantum chemistry codes which can handle R(O)HF calculations and molecular orbital matrix elements. This has been done for psi4 and pyscf, as described in the user manual. Usage of the library is illustrated in the c++ and python tests.

The CheMPS2 binary allows to perform DMRG-SCF and DMRG-CASPT2 calculations based on input files. Molecular orbital matrix elements should then be provided in FCIDUMP format. Usage of the binary is illustrated in the binary example.


To acknowledge CheMPS2, please cite the publications in sphinx/publications.rst. The corresponding compiled html documentation can be consulted here.


Information on CheMPS2 can be found in the following documents:

  1. publications
  2. user manual
  3. doxygen html output

The user manual contains elaborate information on

  • the installation of CheMPS2
  • the DMRG, DMRG-SCF, and DMRG-CASPT2 algorithms
  • the symmetries which are exploited in CheMPS2
  • how to generate matrix elements with plugins to psi4
  • how to perform DMRG, DMRG-SCF, and DMRG-CASPT2 calculations
  • the interfaces to psi4 and pyscf


Information on how to build and install CheMPS2 from source can be found at sphinx/sourcecode.rst. The corresponding compiled html documentation can be consulted here.

List of files

The files in the CheMPS2 library, as well as the files required to perform test runs, can be found in