SmoQyDQMC.jl: A flexible implementation of determinant quantum Monte Carlo for Hubbard and electron-phonon interactions (version 2.0 release)
Benjamin Cohen-Stead, Sohan Malkaruge Costa, James Neuhaus, Andy Tanjaroon Ly, Yutan Zhang, Richard Scalettar, Kipton Barros, Steven Johnston
TL;DR
This paper introduces version 2.0 of SmoQyDQMC.jl, a Julia implementation of determinant quantum Monte Carlo for Hubbard and electron-phonon systems. It supports generalized tight-binding Hamiltonians with local and extended Hubbard interactions as well as diverse electron-phonon couplings, including nonlinear and anharmonic lattice potentials, while enabling multiple phonon branches and acoustic modes. The implementation combines an optimized hybrid Monte Carlo sampler for phonons with a numerically stable DQMC backbone, featuring the LDR stabilization scheme, a checkerboard approximation, twisted boundary conditions, efficient HS updates, and robust error control including reweighting for the sign problem. The package emphasizes a scripting interface for easy integration into Julia workflows, provides auxiliary packages for the DQMC kernel and measurements, and demonstrates nominal $O(\beta N^3)$ scaling across representative 1D models, with plans to broaden Hamiltonian capabilities and spin sector complexity in future work. The work positions SmoQyDQMC.jl as a flexible, performance-oriented tool to study Hubbard and eph systems in realistic lattice geometries while interfacing with modern scientific computing and ML ecosystems.
Abstract
We introduce version 2.0 of the SmoQyDQMC.jl package, a Julia implementation of the determinant quantum Monte Carlo algorithm. SmoQyDQMC.jl supports generalized tight-binding Hamiltonians with local and extended Hubbard and generalized electron-phonon (e-ph) interactions, including non-linear e-ph coupling and anharmonic lattice potentials. Our implementation uses an optimized hybrid Monte Carlo method with exact forces to efficiently sample the phonon fields, enabling the simulation of low-energy phonon branches, including acoustic phonons. The SmoQyDQMC.jl package also uses a flexible scripting interface, allowing users to adapt it to different workflows and interface with other software packages in the Julia ecosystem. The code for this package can be downloaded from our GitHub repository at https://github.com/SmoQySuite/SmoQyDQMC.jl or installed using the Julia package manager. The online documentation, including examples, is found at https://smoqysuite.github.io/SmoQyDQMC.jl/stable/.
