EDIpack2

A massively parallel Exact Diagonalization solver for Quantum Impurity problems.

EDIpack is a Lanczos based Exact Diagonalization method for the solution of generic Quantum Impurity problems, exploiting MPI distributed memory parallelization.

This version 2 extends the former EDIpack library by enabling the solution of multi-orbital quantum impurity models with different conserved quantum numbers \(\vec{Q}\):

  • \(\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)

The choice of the symmetry is possible through the input variable ed_mode=normal,superc,nonsu2

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.

In the actual development stage both the normal and superc modes include electron-phonon coupling to Holstein phonons.

EDIpack2 is designed to obtain the lowest part of the spectrum of the quantum impurity problem., While this makes the software naturally works at zero temperature, it also supports the determination of low temperatures properties.

The diagonalization algorithm is based on a massively parallel execution of matrix-vector products, required in the context of Lanczos-Arnoldi linear procedures. However, substantial modifications have been introduced in this version to address the Superconducting and non-SU(2) channels.

Authors

The EDIpack libraries have been developed as a collective effort by different authors, each contributing to diverse aspects of the library.

Installation

Dependencies

Software requirements to install the EDIpack2 library.

Install

Build, install and configure the library in the OS.

Usage

Quick Start

A quick start guide with two simple examples.

Further examples

Further examples showcasing some potentialities of the software.

Structure

Library structure

Overview of the EDIpack2 library structure.

EDIpack2

The EDIpack2 Fortran Library

A detailed presentation of the library with a thorough description of the relevant modules, data types and procedures.

EDIpack2ineq

EDIpack2 for inequivalent impurities

The inequivalent impurities extension of EDIpack2

EDIpack2 C-bindings

EDIpack2 Fortran-C interface

The Fortran-C interface for EDIpack2 and EDIpack2ineq

Python projects

Python projects

Link to the documentation of the EDIpack python API EDIpy2.0, as well as the TRIQS compatibilty layer

Browse Source Code

Browse code

Browse the software source