1. Fanpy: A python library for prototyping multideterminant methods in ab initio quantum chemistry
- Author
-
Taewon D. Kim, M. Richer, Gabriela Sánchez‐Díaz, Ramón Alain Miranda‐Quintana, Toon Verstraelen, Farnaz Heidar‐Zadeh, and Paul W. Ayers
- Subjects
Chemical Physics (physics.chem-ph) ,DIATOMIC-MOLECULES ,Strongly Correlated Electrons (cond-mat.str-el) ,ab initio ,SEPARATED-PAIR APPROXIMATION ,FOS: Physical sciences ,General Chemistry ,electronic structure ,MODEL ,Condensed Matter - Strongly Correlated Electrons ,GENERALIZED ANTISYMMETRIZED PRODUCT ,Computational Mathematics ,Physics and Astronomy ,Physics - Chemical Physics ,SEMIEMPIRICAL THEORY ,FANCI ,WAVE-FUNCTIONS ,method development ,ELECTRON CORRELATION ,COUPLED-CLUSTER THEORY ,GEMINALS ,DENSITY-MATRICES ,Python - Abstract
Fanpy is a free and open-source Python library for developing and testing multideterminant wavefunctions and related ab initio methods in electronic structure theory. The main use of Fanpy is to quickly prototype new methods by making it easier to convert the mathematical formulation of a new wavefunction ansatze to a working implementation. Fanpy is designed based on our recently introduced Flexible Ansatz for N-electron Configuration Interaction (FANCI) framework, where multideterminant wavefunctions are represented by their overlaps with Slater determinants of orthonormal spin-orbitals. In the simplest case, a new wavefunction ansatz can be implemented by simply writing a function for evaluating its overlap with an arbitrary Slater determinant. Fanpy is modular in both implementation and theory: the wavefunction model, the system's Hamiltonian, and the choice of objective function are all independent modules. This modular structure makes it easy for users to mix and match different methods and for developers to quickly explore new ideas. Fanpy is written purely in Python with standard dependencies, making it accessible for various operating systems. In addition, it adheres to principles of modern software development, including comprehensive documentation, extensive testing, quality assurance, and continuous integration and delivery protocols. This article is considered to be the official release notes for the Fanpy library.
- Published
- 2022