Bath Dimension routines

Description

Returns or check the dimensions to which the user should allocate the bath array.

Quick access

Routines:

get_bath_dimension(), check_bath_dimension()

Used modules

  • sf_constants

  • sf_iotools

  • sf_linalg

  • sf_arrays

  • sf_misc

  • 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_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_bath_aux: Implements a number of auxiliary procedures used to construct replica/general bath

Subroutines and functions

interface  ed_bath_dim/get_bath_dimension(nsym[, h_nn])

Returns the dimension bath_size to which the user should allocate the user bath array to contains all the parameters according to the provided input variables. The value is obtained counting all the electronic levels of the system compatible with the operational mode ed_mode, the bath topology specified by bath_type, the values of norb, nbath and nspin.

If bath_type is replica/general then a input matrix h_nn can be used to count the number of parameters, corresponding to its non-zero elements. In alternative the bath size can be estimated by the number of parameters in the linear decomposition of the bath local Hamiltonian nsym such that \(h^p=\sum_{i=1}^{N_{sym}}\lambda^{p}_{i} O_{i}\).

Options:

h_nn (•, •, •, •) [complex, in] – optional input matrix with dimension [ nspin , nspin , norb , norb ] used to count the number of bath parameters in replica/general values of bath_type.

Parameters:

nsym [integer] – Number of symmetries (for ed_mode = replica, general )

function  ed_bath_dim/check_bath_dimension(bath_)

Checks the user bath bath_ on input has the correct dimensions according to the choice of input parameters for the calculations.

Parameters:

bath_ (•) [real] – user-accessible bath array

Return:

bool [logical]