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, (defining their own or picking from the included models or our growing repository of additional Hamiltonians).
- 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 that 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 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}
$$