From e2b9a942973e455a84d433129f26eb897b5f4d28 Mon Sep 17 00:00:00 2001 From: phibeck Date: Fri, 18 Feb 2022 16:38:01 -0500 Subject: [PATCH] Bugfix for analyse_block_structure in sumk_dft This caused inconsistencies between the shapes of Hloc and density_matrix, since they were in the shape of n_corr_shells vs n_inequiv_shells, respectively. --- python/triqs_dft_tools/sumk_dft.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/python/triqs_dft_tools/sumk_dft.py b/python/triqs_dft_tools/sumk_dft.py index 1b103263..3222df9f 100644 --- a/python/triqs_dft_tools/sumk_dft.py +++ b/python/triqs_dft_tools/sumk_dft.py @@ -851,11 +851,11 @@ class SumkDFT(object): If include_shells is not provided all correlated shells will be analysed. dm : list of dict, optional List of density matrices from which block stuctures are to be analysed. - Each density matrix is a dict {block names: 2d numpy arrays}. + Each density matrix is a dict {block names: 2d numpy arrays} for each correlated shell. If not provided, dm will be calculated from the DFT Hamiltonian by a simple-point BZ integration. hloc : list of dict, optional List of local Hamiltonian matrices from which block stuctures are to be analysed - Each Hamiltonian is a dict {block names: 2d numpy arrays}. + Each Hamiltonian is a dict {block names: 2d numpy arrays} for each inequivalent shell. If not provided, it will be calculated using eff_atomic_levels. """ @@ -871,8 +871,6 @@ class SumkDFT(object): for ish in range(self.n_inequiv_shells)] if hloc is None: hloc = self.eff_atomic_levels() - H_loc = [hloc[self.corr_to_inequiv[ish]] - for ish in range(self.n_corr_shells)] if include_shells is None: include_shells = list(range(self.n_inequiv_shells)) @@ -882,7 +880,7 @@ class SumkDFT(object): n_orb = self.corr_shells[self.inequiv_to_corr[ish]]['dim'] # gives an index list of entries larger that threshold dmbool = (abs(dens_mat[ish][sp]) > threshold) - hlocbool = (abs(H_loc[ish][sp]) > threshold) + hlocbool = (abs(hloc[ish][sp]) > threshold) # Determine off-diagonal entries in upper triangular part of # density matrix