View on GitHub

EDLib

Exact diagonalization solver for quantum electron models

DOI

Overview

EDLib is a C++ template finite temperature Exact diagonalization solver for quantum electron models. The central class of the library is Hamiltonian<Storage, Model>, that is parametrized by Storage and Model:

The resluting eigenpairs are stored as a set of EigenPair<precision, SymmetrySectorType> structures in the Hamiltonian object.

The following observable can be computed by means of Lanczos continuous fraction (Lanczos<Hamiltonian, Mesh, MeshArguments...> class template) of the Lehmann representation:

Look for examples in the “examples/” directory for a detailed information.

Installation

The code is is provided as a header-only library with a set of examples and tests. At least the edlib/Hamiltonian.h should be included in any derivative projects. To compile examples and tests create a build directory and run

  1. cmake -DARPACK_DIR=<path to ARPACK-ng library dir> -DExamples=ON -DTesting=ON {path_to_edlib}
  2. make
  3. make test (for running tests)
  4. example will be build in examples subdirectory

To build with MPI support add -DUSE_MPI=ON CMake flag. MPI library should be installed and ALPSCore library should be compiled with MPI support. To build with a specific ALPSCore library -DALPSCore_DIR=<path to ALPSCore> CMake flag. Since the critical for current library implementation MPI-related ARPACK-ng bug was recenlty fixed it is stricly recommended to use the latest version of ARPACK-ng from github repository.

Dependencies
Authors
Distribution

Open-source under MIT License.