\(\chi^2\) Fit

In ed_bath_fit we perform an optimisation of the user bath by minimizing the projection of a user supplied function with respect to the corresponding quantum impurity problem, bath dependent, one \(\min_{\vec{b}}\chi^2(\vec{b})\) with:

\[\chi^2(\vec{b}) = || F(z) - F^{And}(z;\vec{b}) ||\]

\(F(z)\) is either the Weiss field \({\cal G}_0\) or the hybridization function \(\Delta\) as evaluated by the user. \(F^{And}(z;\vec{b})\) is, respectively, the quantum impurity non-interacting Green’s function \(G^{And}_0(z;\vec{b})=[z+\mu-h_0-\Delta(z;\vec{b})]^{-1}\) or the hybrization function \(\Delta(z,c)=\sum_p V_p[z-h^p]^{-1}V_p\). Finally \(\vec{b}\) is the array containing the discretized bath parameters.

The minimization with respect to \(\vec{b}\) is performed using conjugate gradient algorithm.

Description

Contains routines that fit the Impurity model bath

Quick access

Routines:

ed_chi2_fitgf()

Used modules

  • sf_constants

  • sf_optimize

  • sf_linalg

  • sf_iotools

  • 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: Contains routines for setting, accessing, manipulating and clearing the bath of the Impurity problem.

  • ed_fit_common

  • ed_fit_normal

  • ed_fit_hybrid

  • ed_fit_replica

  • ed_fit_general

  • mpi

  • sf_mpi

Subroutines and functions

interface  ed_bath_fit/ed_chi2_fitgf(g, bath, f[, ispin, iorb, fmpi])

This subroutine realizes the chisquare fit of the Weiss field or hybridization function via an impurity model non-interacting Green’s function. The bath levels (levels/internal structure and hybridization strength) are supplied by the user in the bath array and are the parameters of the fit. The function(s) to fit can have different shapes:

where nlat is the number of impurity sites in real-space DMFT. Accordingly, the bath array or arrays have rank 2 or 3. Some global variables directly influence the way the fit is performed and can be modified in the input file. See ed_input_vars for the description of lfit, cg_method , cg_grad, cg_ftol, cg_stop , cg_niter , cg_weight , cg_scheme , cg_pow , cg_minimize_ver , cg_minimize_hh .

Parameters:
  • g (various shapes) [complex] – normal Weiss field or hybridization function to fit

  • bath (various shapes) [real] – bath parameters array

  • f (various shapes) [complex] – anomalous Weiss field or hybridibazion function to fit (only if ed_mode = superc )

Options:
  • ispin [integer] – spin component to be fitted (default = 1 ). Only used if ed_mode = normal and bath_type = normal, hybrid

  • iorb [integer] – orbital to be fitted

  • fmpi [logical] – flag to automatically broadcast the fit over the MPI communicator (default = .true. )