SumkDFTTools.density_matrix(method='using_gf', mu=None, with_Sigma=True, with_dc=True, broadening=None, transform_to_solver_blocks=True, show_warnings=True)

Calculate density matrices in one of two ways.

methodstring, optional
  • if ‘using_gf’: First get lattice gf (g_loc is not set up), then density matrix.

    It is useful for Hubbard I, and very quick. No assumption on the hopping structure is made (ie diagonal or not).

  • if ‘using_point_integration’: Only works for diagonal hopping matrix (true in wien2k).

mureal, optional

Input chemical potential. If not provided the value of self.chemical_potential is used as mu.

with_Sigmaboolean, optional

If True then the local GF is calculated with the self-energy self.Sigma_imp.

with_dcboolean, optional

If True then the double-counting correction is subtracted from the self-energy in calculating the GF.

broadeningfloat, optional

Imaginary shift for the axis along which the real-axis GF is calculated. If not provided, broadening will be set to double of the distance between mesh points in ‘mesh’. Only relevant for real-frequency GF.

transform_to_solver_blocksbool, optional

If True (default), the returned G_loc will be transformed to the block structure gf_struct_solver, else it will be in gf_struct_sumk.

show_warningsbool, optional

Displays warning messages during transformation (Only effective if transform_to_solver_blocks = True

dens_matlist of dicts

Density matrix for each spin in each correlated shell.