Bath Replica routines

Description

In these module we implement the functions to set the matrix basis \(\{ \hat{O}_i \}_{i=1,\dots,N_{sym}}\) and the initial variational parameters \(\vec{\lambda}\) used to decompose each local bath hamiltonian for the replica and general bath types.

Quick access

Routines:

set_hreplica(), set_hgeneral()

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

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

  • ed_bath_dmft: A class for the the effective_bath data structure describing the effective bath in the code.

Subroutines and functions

interface  ed_bath_replica/set_hreplica(hvec, lambdavec)

This function sets the matrix basis \(\{ \hat{O}_i \}_{i=1,\dots,N_{sym}}\) used to decompose the single bath hamiltonian \(h^p\). It also sets the initial values of the variational parameters \(\vec{\lambda}\) in the replica ath type.

Input: Hvec
Input: lambdavec
  • rank-2, dimensions: [ nbath , nsym ]

  • rank-3, dimensions: [ nlat , nbath , nsym ]

Parameters:
  • hvec (various shapes) [complex] – [Nnambu*Nspin,Nnambu*Nspin,Norb,Norb,Nsym]

  • lambdavec (various shapes) [real] – [Nbath,Nsym]

interface  ed_bath_replica/set_hgeneral(hvec, lambdavec)

This function sets the matrix basis \(\{ \hat{O}_i \}_{i=1,\dots,N_{sym}}\) used to decompose the single bath hamiltonian \(h^p\). It also sets the initial values of the variational parameters \(\vec{\lambda}\) in the general ath type.

Input: Hvec
Input: lambdavec
  • rank-2, dimensions: [ nbath , nsym ]

  • rank-3, dimensions: [ nlat , nbath , nsym ]

Parameters:
  • hvec (various shapes) [complex] – [Nnambu*Nspin,Nnambu*Nspin,Norb,Norb,Nsym]

  • lambdavec (various shapes) [real] – [Nbath,Nsym]