Rimu.jl: Random integrators for many-body quantum systems
Matija Čufar, C. J. Bradly, Ray Yang, Elke Pahl, Joachim Brand
TL;DR
Rimu.jl presents a scalable, matrix-free framework for solving many-body quantum systems using FCIQMC and exact diagonalisation, implemented in Julia with a focus on Fock-state based representations. The package provides a unified interface via CommonSolve.jl, supports excited states, time series observables, and general operator expectations, and includes extensive data structures for Fock addresses, operators, and parallel vector handling. It introduces stochastic and semistochastic variants of the FCIQMC algorithm, discusses estimator techniques, and demonstrates performance on multi-core and MPI distributed platforms with detailed benchmarks. The work enables solving significantly larger problems than conventional dense or sparse matrix methods, by avoiding explicit matrix storage and leveraging matrix-free operator evaluations and replica-based observables. Overall, Rimu.jl advances high-performance simulation of quantum many-body systems, including ultra-cold atoms and lattice models, with practical tools for accuracy estimation, scalability, and extensibility.
Abstract
Rimu.jl is a Julia package for solving many-body quantum problems. The core of the package is a matrix-free implementation of Hamiltonians and other operators and compact representation of Fock states, which together allow for efficient methods suitable for high-performance computing. Rimu.jl includes a Julia implementation of the full configuration interaction quantum Monte Carlo (FCIQMC) algorithm which is a type of projector QMC algorithm for stochastically solving the time-independent Schrödinger equation. It also includes many well-known model Hamiltonians, and an interface for exact diagonalisation based on external eigenvalue solvers. Both the stochastic and exact diagonalisation methods are accessed with a CommonSolve.jl interface. We describe the FCIQMC algorithm and how to obtain estimators of observables as well as the key features of the implementation.
