The Massively Parallel Quantum Chemistry (MPQC) package has two components:

  • a set of C++ libraries intended for use in molecular electronic structure (aka quantum chemistry, QC), and
  • the end-user program for performing QC computations. The former is of interest to the developers of QC (and other) software, whereas the latter is of interest to those wishing to use the standard QC methods for practical computations.

The software developers using MPQC will primarily be interested in the QC-specific C++ libraries, known collectively as mpqc.Chemistry; these libraries can be used to implement existing and new QC methods easily. In turn, mpqc.Chemistry libraries are supported by two sets of C++ libraries:

  • mpqc.Core: core libraries for reading objects and other structured data from input files, serialization, etc.
  • mpqc.Math: libraries for low-rank tensor algebra, clustering, and various optimizers/solvers.

Two key libraries whose development was driven by the needs of MPQC are maintained as standalone components to make their reuse easier:

The MPQC program is the end-user code for practical application of the variety of quantum chemistry methods. Although MPQC lacks many features demanded by many mainstream users of quantum chemistry, it can be used by non-experts for applications of routine (Hartree-Fock, MP2) as well as some more advanced quantum chemistry methods (explicitly-correlated coupled-cluster). MPQC is also suitable for learning quantum chemistry by advanced undergraduate and beginning graduate students. Lastly, MPQC includes unique emerging functionality that is not yet accessible for non-experts.

Although the development of MPQC has been ongoing since 1992, the code is constantly evolving. MPQC is fundamentally an experimental/research platform that is used to seek new computational approaches in electronic structure. Thus, this manual is always a work-in-progress (read: incomplete). Furthermore, some of the classes in the distribution may be on the verge of obsolescence and others may be unfinished work that are intended to provide new functionality in later releases.

MPQC runs on Unix platforms of all kinds, from a laptop running Linux or Apple OS X to a basic lab-scale Unix cluster to a high-end supercomputer such as IBM BlueGene/Q.

  • Go to the User Guide to learn how to install the MPQC program and use it to perform electronic structure computations.
  • Go to the Developer Guide to learn how to use MPQC to compose new features, either standalone or within MPQC.
  • Go to the Contrubutor Guide to learn how to contribute to the development of MPQC.