**exactdiag** is a Python package for performing exact diagonalization of fermionic many-body systems. Uniquely, it leverages **Numba** to Just-In-Time (JIT) compile critical inner loops, allowing it to achieve performance close to compi…
**exactdiag** is a Python package for performing exact diagonalization of fermionic many-body systems. Uniquely, it leverages **Numba** to Just-In-Time (JIT) compile critical inner loops, allowing it to achieve performance close to compiled languages like C++ or Fortran while efficient Python scripting. It focuses on the Anderson Impurity Model and Hubbard models, providing tools for Green's functions and spectral densities.
Reference papers are not yet linked for this code.
exactdiag is a Python package for performing exact diagonalization of fermionic many-body systems. Uniquely, it leverages Numba to Just-In-Time (JIT) compile critical inner loops, allowing it to achieve performance close to compiled languages like C++ or Fortran while efficient Python scripting. It focuses on the Anderson Impurity Model and Hubbard models, providing tools for Green's functions and spectral densities.
Scientific domain: Correlated Electrons, DMFT Impurity Solvers Target user community: Python users requiring fast ED for small fermionic clusters
scipy.sparse.linalg.LinearOperator to avoid storing full matrices when possible.Basis, Hamiltonian, and GreenFunction.import exactdiag as ed
# Define basis
basis = ed.Basis(nsites=4, nup=2, ndn=2)
# Create Hamiltonian
H = ed.Hamiltonian(basis, ...parameters...)
# Diagnose
evals, evecs = H.diagonalize()
| Feature | exactdiag (mikeschmitt) | xdiag (awietek) | TRIQS |
|---|---|---|---|
| Language | Python + Numba | C++ / Julia | C++ / Python |
| Focus | Impurity Solvers (SIAM) | General Lattice ED | DMFT / Green's Functions |
| Speed | Numba JIT (Fast) | C++ Optimized (Very Fast) | C++ Optimized (Very Fast) |
| Usage | Lightweight Python | HPC / Production | Heavy Framework |
Primary sources:
Verification status: ✅ VERIFIED