The Algorithms for Lattice Fermions package provides a general code for auxiliary-field quantum Monte Carlo simulations.

Features


General Hamiltonian

ALF simulates any model that can be written (see below) in terms of sums of:
  • single-body operators,
  • squares of single-body operators, and
  • single-body operators coupled to an Ising field with given dynamics.

Flexibility

Choosing from predefined types or defining their own, the user can specify:
  • the model,
  • the Bravais lattice, and
  • observables (equal-time and time-displaced).

High Performance

ALF makes full use of the computational resources available, boasting:
  • parallelization via MPI and OpenMP,
  • near-optimal single-core performance, and
  • restart facilities.

Ease of Use

The package capabilities are made easily accessible through:
  • its Python interface, pyALF,
  • extensive documentation and a short tutorial, as well as
  • a large set of Predefined Structures, which substantially simplify extending the code.

Advanced Features

Among other facilities, ALF also provides:
  • parallel tempering,
  • ground state projective QMC,
  • global Monte Carlo updates,
  • continuous fields,
  • Langevin dynamics updates,
  • stochastic Maximum Entropy method,
  • symmetric Trotter decomposition,
  • Dimer-Dimer correlations,
  • Cotunneling for Kondo models, and
  • Rényi Entropy.

Support

Users can contact us at any time.

ALF’s code is available from our Git instance at https://git.physik.uni-wuerzburg.de/ALF/ALF/-/tree/ALF-2.0 where one can also sign in to file issues.


General Hamiltonian

The general Hamiltonian ALF simulates can be written as:

$$ \begin{align} \hat{\mathcal{H}} &= \hat{\mathcal{H}}_{T}+\hat{\mathcal{H}}_{V} + \hat{\mathcal{H}}_{I} + \hat{\mathcal{H}}_{0,I}, \end{align} $$ where $$ \begin{align} \hat{\mathcal{H}}_{T} &= \sum\limits_{k=1}^{M_T} \sum\limits_{\sigma=1}^{N_{\mathrm{col}}} \sum\limits_{s=1}^{N_{\mathrm{fl}}} \sum\limits_{x,y}^{N_{\mathrm{dim}}} \hat{c}^{\dagger}_{x \sigma s}T_{xy}^{(k s)} \hat{c}^{\phantom\dagger}_{y \sigma s} \equiv \sum\limits_{k=1}^{M_T} \hat{T}^{(k)} \label{eqn:general_ham_t}\,,\\ \hat{\mathcal{H}}_{V} &= \sum\limits_{k=1}^{M_V}U_{k} \left\{ \sum\limits_{\sigma=1}^{N_{\mathrm{col}}} \sum\limits_{s=1}^{N_{\mathrm{fl}}} \left[ \left( \sum\limits_{x,y}^{N_{\mathrm{dim}}} \hat{c}^{\dagger}_{x \sigma s}V_{xy}^{(k s)}\hat{c}^{\phantom\dagger}_{y \sigma s} \right) +\alpha_{k s} \right] \right\}^{2} \equiv \sum\limits_{k=1}^{M_V}U_{k} \left(\hat{V}^{(k)} \right)^2 \label{eqn:general_ham_v}\,,\\ \hat{\mathcal{H}}_{I} & = \sum\limits_{k=1}^{M_I} \hat{Z}_{k} \left( \sum\limits_{\sigma=1}^{N_{\mathrm{col}}} \sum\limits_{s=1}^{N_{\mathrm{fl}}} \sum\limits_{x,y}^{N_{\mathrm{dim}}} \hat{c}^{\dagger}_{x \sigma s} I_{xy}^{(k s)}\hat{c}^{\phantom\dagger}_{y \sigma s} \right) \equiv \sum\limits_{k=1}^{M_I} \hat{Z}_{k} \hat{I}^{(k)} \,.\label{eqn:general_ham_i} \end{align} $$