Fanpy 2.0: Wavefunction Implementation and Analysis Tools for Flexible Ansatz Design
Krisztina Zsigmond, Rugwed A. Lokhande, Carlos E. V. de Moura, Pratiksha B. Gaikwad, Marco Martínez González, Michelle Richer, Daniel F. Calero-Osorio, Paul W. Ayers, Ramón Alain Miranda‐Quintana
Fanpy is a Python library for developing new wavefunction methods. It enables users to quickly convert mathematical expressions into working code through a modular design based on the Flexible Ansatz for N-electron Configuration Interaction (FANCI) theory. This architecture facilitates a straightforward extension of the codebase. Here we present version 2.0 of the Fanpy package. This release includes several new wavefunction implementations, including coupled- cluster-inspired geminal approaches. A new analysis module enables a more detailed inspection of computational results and lays the groundwork for future features. In addition, the PySCF interface has been redesigned, and an interface to the PyCI package has been introduced to offload computationally expensive components. Finally, we introduce an improved software development environment, including automated testing and issue tracking.
Fanpy is a Python library for developing new wavefunction methods. It enables users to quickly convert mathematical expressions into working code through a modular design based on the Flexible Ansatz for N-electron Configuration Interaction (FANCI) theory. This architecture facilitates a straightforward extension of the codebase. Here we present version 2.0 of the Fanpy package. This release includes several new wavefunction implementations, including coupled- cluster-inspired geminal approaches. A new analysis module enables a more detailed inspection of computational results and lays the groundwork for future features. In addition, the PySCF interface has been redesigned, and an interface to the PyCI package has been introduced to offload computationally expensive components. Finally, we introduce an improved software development environment, including automated testing and issue tracking.
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.
PyCI is a free and open-source Python library for setting up and running arbitrary determinant-driven configuration interaction (CI) computations, as well as their generalizations to cases where the coefficients of the determinant are nonlinear functions of optimizable parameters. PyCI also includes functionality for computing the residual correlation energy, along with the ability to compute spin-polarized one- and two-electron (transition) reduced density matrices. PyCI was originally intended to replace the ab initio quantum chemistry functionality in the HORTON library but emerged as a standalone research tool, primarily intended to aid in method development, while maintaining high performance so that it is suitable for practical calculations. To this end, PyCI is written in Python, adopting principles of modern software development, including comprehensive documentation, extensive testing, continuous integration/delivery protocols, and package management. Computationally intensive steps, notably operations related to generating Slater determinants and computing their expectation values, are delegated to low-level C++ code. This article marks the official release of the PyCI library, showcasing its functionality and scope.
Psi4NumPy demonstrates the use of efficient computational kernels from the open-source Psi4 program through the popular NumPy library for linear algebra in Python to facilitate the rapid development of clear, understandable Python computer code for new quantum chemical methods, while maintaining a relatively low execution time. Using these tools, reference implementations have been created for a number of methods, including self-consistent field (SCF), SCF response, many-body perturbation theory, coupled-cluster theory, configuration interaction, and symmetry-adapted perturbation theory. Furthermore, several reference codes have been integrated into Jupyter notebooks, allowing background, underlying theory, and formula information to be associated with the implementation. Psi4NumPy tools and associated reference implementations can lower the barrier for future development of quantum chemistry methods. These implementations also demonstrate the power of the hybrid C++/Python programming approach employed by the Psi4 program.
FermiLib is an open source software package designed to facilitate the development and testing of algorithms for simulations of fermionic systems on quantum computers. Fermionic simulations represent an important application of early quantum devices with a lot of potential high value targets, such as quantum chemistry for the development of new catalysts. This software strives to provide a link between the required domain expertise in specific fermionic applications and quantum computing to enable more users to directly interface with, and develop for, these applications. It is an extensible Python library designed to interface with the high performance quantum simulator, ProjectQ, as well as application specific software such as PSI4 from the domain of quantum chemistry. Such software is key to enabling effective user facilities in quantum computation research.
We present qlbm , a Python software package designed to facilitate the development, simulation, and analysis of Quantum Lattice Boltzmann Methods (QBMs). qlbm is a modular framework that introduces a quantum component abstraction hierarchy tailored to the implementation of novel QBMs. The framework interfaces with state-of-the-art quantum software infrastructure to enable efficient simulation and validation pipelines, and leverages novel execution and pre-processing techniques that significantly reduce the computational resources required to develop quantum circuits. We demonstrate the versatility of the software by showcasing multiple QBMs in 2D and 3D with complex boundary conditions, integrated within automated benchmarking utilities. Accompanying the source code are extensive test suites, thorough online documentation resources, analysis tools, visualization methods, and demos that aim to increase the accessibility of QBMs while encouraging reproducibility and collaboration. Program summary Program Title: qlbm CPC Library link to program files: https://doi.org/10.17632/28hkvsg7p2.1 Developer's repository link: https://github.com/QCFD-Lab/qlbm Licensing provisions: MPL-2.0 Programming language: Python3 Supplementary material: The documentation of is available at https://qcfd-lab.github.io/qlbm/ . Nature of problem: The advent of quantum algorithms for computational fluid dynamics brings with it challenges that are new to the established field of computational physics. These challenges include the lack of standardized implementations of the still nascent quantum methods, the intense computational demands of developing and simulating quantum algorithms on hardware available today, and the absence of tools that integrate novel developments into established infrastructure. Because of these current limitations, physicists and mathematicians expend superfluous resources on tasks that more mature computational physics branches have surmounted long ago. Solution method: QLBM is a software package that provides an end-to-end development environment for quantum lattice Boltzmann methods. The modular design and flexible quantum circuit library provide a base for extending and generalizing quantum algorithms. Performance enhancements exploit the paradigm of quantum computing simulations to accelerate the speed at which researchers can verify the validity of their methods. Its integration with state-of-the-art quantum computing software and visualization tools increases the algorithms' accesibility. These features allow QLBM to effectively generate, simulate, and analyze quantum circuits for 2D and 3D computational fluid dynamics problems.
We present a next-generation version of EDIpack, a flexible, high-performance numerical library using Lanczos-based exact diagonalization to solve generic quantum impurity problems, such as those introduced in Dynamical Mean-Field Theory to describe extended strongly correlated materials. This new release efficiently solves impurity problems allowing for different broken-symmetry solutions, including superconductivity, featuring local spin-orbit coupling and/or electron-phonon coupling. It provides quick access to dynamical correlation functions on the entire complex frequency plane at zero and low-temperatures. The modular architecture of the software not only provides Fortran APIs but also includes bindings to C/C++, interfaces with Python and Julia or with TRIQS and w2dynamics research platforms, thus ensuring unprecedented level of inter-operability. The outlook includes further extensions to study quantum materials and cold atoms quantum simulators, as well as quantum information applications.