Impurity RDM

The global unique interface to the all the available procedures evaluating impurity RDM. The correct function is called according to the value of ed_mode.

Quick access

Routines:

get_impurity_rdm(), get_reduced_rdm(), print_rdm(), rdm_impurity()

Used modules

  • ed_input_vars: Contains all global input variables which can be set by the user through the input file. A specific preocedure ed_read_input() should be called to read the input file using parse_input_variable() procedure from SciFortran. All variables are automatically set to a default, looked for and updated by reading into the file and, sequentially looked for and updated from command line (std.input) using the notation variable_name=variable_value(s) (case independent).

  • ed_vars_global: Contains all variables, arrays and derived types instances shared throughout the code. Specifically, it contains definitions of the effective_bath, the gfmatrix and the sector data structures.

  • ed_eigenspace: A class implementing a data structure to efficiently store the low part of the Fock space spectrum, automatically spreading and retrieving the eigenstates among/from MPI threads.

  • ed_bath: Contains routines for setting, accessing, manipulating and clearing the bath of the Impurity problem.

  • ed_setup: Contains procedures to set up the Exact Diagonalization calculation, executing all internal consistency checks and allocation of the global memory.

  • ed_hamiltonian

  • ed_aux_funx: Hosts a number of auxiliary procedures required in different parts of the code. Specifically, it implements: creation/annihilation fermionic operators, binary decomposition of integer representation of Fock states and setup the local impurity Hamiltonian

  • ed_rdm_normal

  • ed_rdm_superc

  • ed_rdm_nonsu2

Subroutines and functions

interface  ed_rdm/get_impurity_rdm(dm[, doprint])
Parameters:

dm (•, •) [complex, inout,allocatable]

Options:

doprint [logical, in]

interface  ed_rdm/get_reduced_rdm(rdm, orbital_mask[, doprint])
Parameters:
  • rdm (•, •) [complex, inout,allocatable]

  • orbital_mask (norb) [logical, in]

Options:

doprint [logical, in]

interface  ed_rdm/print_rdm(dm, orbital_mask, nrdm)
Parameters:
  • dm (•, •) [complex, in]

  • orbital_mask (norb) [logical, in]

  • nrdm [integer, in]

subroutine  ed_rdm/rdm_impurity()

Calculate the impurity RDM calling the correct procedure according to the value of ed_mode . Write the resulting matrix to a plain-text file.