ipie documentation
ipie stands for Intelligent Python-based Imaginary-time Evolution. It is an auxiliary-field quantum Monte Carlo (AFQMC) package for ab initio quantum chemistry and model Hamiltonians, written in Python with a focus on simplicity and computational efficiency.
Key features
Ground-state energies of ab initio systems with phaseless AFQMC.
Distributed Hamiltonians: large calculations can be spread across many CPUs or GPUs, enabling systems that do not fit on a single node or GPU card.
GPU acceleration via CuPy/CUDA and CUDA-aware MPI.
Multi-determinant trials: particle-hole (MCSCF/SHCI) trial wavefunctions with optimized Wick’s-theorem kernels (see Advanced features).
Extended algorithms: free-projection AFQMC, finite-temperature AFQMC, automatic-differentiation AFQMC for properties, GHF walkers, periodic (k-point) Cholesky and ISDF Hamiltonians, and isometric-THC (iTHC) factorised molecular Hamiltonians.
Simple data analysis tools for reblocking and error estimation.
The code is hosted on GitHub and released on PyPI. If you use ipie, please cite the release papers listed in Bibliography.
Getting started
User guide
- Input file reference
- Driving ipie from Python
- The object model
- Building blocks
- Route 1:
AFQMC.build - Route 2:
AFQMC.build_from_hdf5 - Route 3:
build_afqmc_driverand the input dictionary - Route 4: assembling the driver by hand
- Running, output and clean-up
- Multi-determinant trials
- Custom observables
- Custom trial wavefunctions and walkers
- Running with MPI
- Enabling the GPU
- Checkpointing walkers and restarting
- Analysing results
- Advanced features
- Examples
- Prerequisites
- Running the examples as a test suite
- 01-simple: the JSON-input workflow
- 02-multi_determinant: CASSCF trial wavefunction
- 03-custom_observable: writing your own estimator
- 04-s2_observable: a mixed \(\langle S^2 \rangle\) estimator
- 05-frozen_core: freezing core orbitals
- 06-gpu: running on GPUs
- 07-custom_trial: subclassing a trial wavefunction
- 08-custom_walker: subclassing walkers and assembling the driver
- 10-pyscf_interface: PySCF to AFQMC in one script
- 11-trexio: reading a TREXIO file
- 12-shciscf-active-space: SHCI-selected active spaces
- 13-free_projection: free-projection AFQMC
- 14-fqe-wavefunction: exchanging wavefunctions with FQE
- 15-share_mem_cpu: integrals in shared memory
- 16-ft_afqmc: finite-temperature AFQMC
- 17-ghf_afqmc: GHF trials and walkers
- 18-ad_afqmc: automatic differentiation for properties
- 19-hubbard: a lattice model through the generic Hamiltonian
- 20-save_and_restart: walker checkpoints
- 21-kpt_chol: periodic k-point Cholesky Hamiltonian
- 22-kpt_isdf: periodic k-point ISDF Hamiltonian
Background
- Theory overview
- Hamiltonian and Cholesky decomposition
- Imaginary-time projection
- Trotter splitting and the Hubbard-Stratonovich transformation
- Walkers, weights and the mixed estimator
- Importance sampling and the force bias
- The phaseless approximation
- Population control
- Stabilisation and the timestep
- Trial wavefunctions
- Free-projection AFQMC
- Finite-temperature AFQMC
- Further reading
- Bibliography