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.

Authors

The EDIpack libraries (1.0 and 2.0) have been developed as a collective effort by different authors, each contributing to diverse aspects of the library. The following list does not follow any particular order:

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