Fanpy: A python library for prototyping multideterminant methods in ab initio quantum chemistry.
Taewon D KimM RicherGabriela Sánchez-DíazRamón Alain Miranda-QuintanaToon VerstraelenFarnaz Heidar-ZadehPaul W AyersPublished in: Journal of computational chemistry (2022)
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 ansätze 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.