EDIpack2.0
A massively parallel Exact Diagonalization solver for quantum Impurity problems.
Warning
The documentation is under construction
EDIpack2.0 is a Lanczos based Exact Diagonalization method for the solution of generic Quantum Impurity problems, exploiting MPI distributed memory parallelisation. The 2.0 version extends the former EDIpack library enabling the solution of single-site, multi-orbital models with different conserved quantum numbers \(\vec{Q}\) corresponding to separate operational modes which, in EDIpack2.0 software, are selected by the input variable ed_mode=normal,superc,nonsu2 as follow:
\(\vec{Q}=[\vec{N}_\uparrow,\vec{N}_\downarrow]\) for which either the number of total or orbital spin up and down electrons is conserved: NORMAL
\(\vec{Q}=S_z\) with conserved total magnetization: SUPERConducting
\(\vec{Q}=N_{\rm tot}\) where spin degrees freedom is not fully conserved: NON-SU(2)
Note
The superc mode deals with local s-wave pairing although in diagonal and off-diagonal orbital channels. The actual implementation does not support long-range magnetic ordering.
Note
The nonsu2 operational mode deals with any situation in which spin symmetry group is not fully conserved, for instance in presence of local Spin-Orbit Coupling \(\vec{L} \cdot \vec{S}\), in-plane magnetization \(\langle S_x\rangle\gt0\) or in-plane triplet excitonic condensation, see PhysRevB.107.115117.
All operational modes include electron-phonon coupling (local or Holstein phonons). EDIpack2.0 is designed to obtain the lowest part of the spectrum of the problem, thus it naturally works at zero temperature but can also be used to explore low temperature properties.
The EDIpack2.0 diagonalization algorithm is based on a massively parallel execution of matrix-vector products, required in the context of Lanczos-Arnoldi linear procedures. See j.cpc.2021.108261 for a detailed descriptions of these algorithms. However, substantial modifications have been introduced in the 2.0 version to address the Superconducting and non-SU(2) channels. An updated manuscript will be released soon.
Installation
- Dependencies
Software requirements to install EDIpack2.0
- Install
Build, install and configure EDIpack2.0
Usage
- Quick Start
A quick start guide to EDIpack2.0 usage
- Further examples
Some examples illustrating the use of EDIpack2.0 for simple test problems
EDIpack2
- EDIpack2.0 Fortran Library
An overview of the structure of the library and a detailed description of the relevant modules.
EDIpy2
- Python API for EDIpack2
Installation and basic use of EDIpy2: the python API of EDIpack2.0
Browse Source Code
- Browse code
Browse the EDIpack2.0 structure