QCMaquis

Philosophy of SCINE QCMaquis

QCMaquis is an efficient implementation of the density matrix renormalization group (DMRG) algorithm for quantum chemical Hamiltonians in its matrix product state-matrix product operator (MPS-MPO) formulation. Quantum-chemical operators represented as matrix product operators (MPOs) provide the necessary flexibility to accommodate Abelian and non-Abelian symmetries as well as the implementation of non-relativistic and relativistic quantum chemical Hamiltonians, respectively, in a unified framework. We have implemented the special unitary group of degree 2 (SU(2)) in the MPO representation of the non-relativistic Hamiltonian to ensure spin conservation.

Current Features

  • Optimization of spin-adapted SU(2) MPS wave functions with the DMRG algorithm
  • Non-relativistic and scalar-relativistic quantum-chemical Hamiltonians
  • Calculation of excited states
  • A python tool set to analyze the MPS wave function and its quantum entanglement
  • One-, two, three- and four-particle reduced density matrices
  • One-, two- and three-particle reduced transition density matrices
  • DMRG-CI and DMRG-SCF interface to the OpenMolcas program package for:
    • DMRG-SCF calculations w/wo reaction field (e.g. PCM)
    • State-specific and state-averaged DMRG-SCF calculations
    • Analytic gradients for state-specific DMRG-SCF calculations
    • MPS state interaction (MPS-SI) for the calculation of spin-orbit coupling matrix elements, electronic and magnetic properties
    • state-specific and quasi-degenerate (multi-state) DMRG-NEVPT2 calculations
  • The current release version can be used together with SCINE autoCAS

Download

We strongly recommend installing and running QCMaquis together with the OpenMOLCAS program package and the OpenMOLCAS-QCMaquis interface, as described below.

QCMaquis in OpenMolcas

To install QCMaquis with the OpenMOLCAS interface, download OpenMOLCAS from the official OpenMOLCAS GitLab repository and follow its installation guide. To activate QCMaquis (and NEVPT2) support within OpenMolcas, add the following flags to cmake when configuring OpenMOLCAS (see step 3 of the OpenMOLCAS installation guide):
$ cmake -DDMRG=ON -DNEVPT2=ON -DLINALG=MKL -DQCMaquis_NAME="Your Name" -DQCMaquis_EMAIL="your@email.com" ../
Please specify a valid name and an e-mail address as parameters to the above CMake flags. A full installation guide including package dependencies can be found in Section 3.1 of our manual.

QCMaquis Standalone

QCMaquis may be obtained as a standalone program by using the following form:

After downloading, untar the archive, change to the newly created directory, and configure QCMaquis with cmake as follows:
$ cmake -DQCM_standalone=ON -DQCMaquis_NAME="Your Name" -DQCMaquis_EMAIL="your@email.com"
Now you may compile QCMaquis with `make`. A full installation guide including package dependencies for the standalone version of QCMaquis can be found in Section 7.1 of our manual.

Future Releases

  • Second-order optimization algorithm for DMRG-SCF
  • DMRG-CI and DMRG-SCF interface to the OpenMolcas program package for:
  • DMRG-CI and DMRG-SCF interface to the OpenMolcas program package for analytic (excited state) gradients for state-averaged DMRG-SCF wave functions
  • Interface to the Dalton program package for:
    • Polarizable-embedding DMRG
    • Short-range DFT-long-range DMRG for open- and/or closed-shell molecules
    • (Orbital-optimized) ensemble-DFT-DMRG
  • Interfaces to the Bagel and Dirac program packages for:
    • Relativistic four- and two-component DMRG-SCF/CI calculations
    • Electronic and magnetic properties

Documentation

A detailed installation guide and manual for QCMaquis (and its components) can be found here.

Support

For issues and bug reports with QCMaquis in OpenMOLCAS, please open an issue in the OpenMOLCAS bug tracker. For issues and bug reports with the QCMaquis standalone version, please send an e-mail to dmrg@phys.chem.ethz.ch.

References

For reproducibility reasons, please cite, depending on the actual calculations you carried out, one or more of the following papers in publications that present data produced with QCMaquis:

  • General reference to the code:
    S. Keller, M. Dolfi, M. Troyer, M. Reiher, "An efficient matrix product operator representation of the quantum chemical Hamiltonian", J. Chem. Phys., 2015, 143, 244118. DOI
  • DMRG-NEVPT2:
    L. Freitag, S. Knecht, C. Angeli, M. Reiher, Multireference Perturbation Theory with Cholesky Decomposition for the Density Matrix Renormalization Group", J. Chem. Theory Comput., 2017, 13, 451. DOI
  • MPS-SI:
    S. Knecht, S. Keller, J. Autschbach, M. Reiher, "A Nonorthogonal State-Interaction Approach for Matrix Product State Wave Functions", J. Chem. Theory Comput., 2016, 12, 5881. DOI
QCMaquis builds upon the ALPS MPS project. The ALPS MPS codes implement the DMRG algorithm for variational ground and low-lying excited state search as well as time evolution of arbitrary one- and two-dimensional models in a matrix-product-state representation. They have been developed at ETH Zurich by Michele Dolfi and Bela Bauer in the group of Matthias Troyer with contributions from Sebastian Keller and Alexandr Kosenkov and at the University of Geneva by Timothée Ewart and Adrian Kantian in the group of Thierry Giamarchi. For further information on the ALPS project, please visit alps.comp-phys.org and note the original ALPS MPS paper:
M. Dolfi, B. Bauer, S. Keller, A. Kosenkov, T. Ewart, A. Kantian, T. Giamarchi, M. Troyer, "Matrix product state applications for the ALPS project" ,Comp. Phys. Commun., 2014, 12, 3430. DOI