HubbardI Solver¶
- class MagInt.HubbardI_solver.Solver(beta, l, n_iomega=1025, use_spin_orbit=False, Nmoments=5)¶
Hubbard I Solver
- GF_realomega(ommin, ommax, N_om, U_int=None, J_hund=None, T=None, verbosity=0, broadening=0.01, n_lev=0, remove_split=False, u4ind=None)¶
Calculates the Green’s Function (GF) and spectral function on the real frequency axis.
Parameters:¶
- omminfloat
Minimum frequency for the calculation.
- ommaxfloat
Maximum frequency for the calculation.
- N_omint
Number of frequency points.
- U_intfloat, optional
Interaction parameter U for defining the interactions in the system. Either (U_int, J_hund) should be provided or the full U-matrix u4ind.
- J_hundfloat, optional
Hund’s coupling parameter J. Either (U_int, J_hund) should be provided or the full U-matrix u4ind.
- Tfloat, optional
Temperature of the system. Default is None.
- verbosityint, optional
Level of verbosity for logging. Default is 0.
- broadeningfloat, optional
Broadening factor for the GF. Default is 0.01.
- n_levint, optional
Number of levels included. Default is 0.
- remove_splitbool, optional
If True, removes the splitting in the GF. Default is False.
- u4indnumpy.ndarray, optional
A full 4-index U-matrix. If provided, (U_int, J_hund) are not used.
Returns:¶
None. Modifies internal class attributes to store computed GF, spectral functions, etc.
Note:¶
Either the interaction parameters (U_int, J_hund) should be provided, or the full U-matrix u4ind.
- __init__(beta, l, n_iomega=1025, use_spin_orbit=False, Nmoments=5)¶
Initialize the solver.
- Parameters:
beta (float) – Inverse temperature.
l (int) – Angular momentum quantum number
n_iomega (int, optional) – Number of Matsubara frequencies used for the Green’s functions. Default is 1025.
use_spin_orbit (bool, optional) – Whether Spin-Orbit coupling is included. Default is False.
Nmoments (int, optional) – Number of moments. Default is 5.
- set_atomic_levels(eal)¶
Sets atomic level data based on the provided dictionary.
This method updates the atomic level matrix (self.ealmat) and effective atomic levels (self.Eff_Atomic_Levels) attributes using the dictionary of atomic levels provided.
Parameters:¶
- ealdict
Dictionary containing atomic levels data. Keys are indices, and values are 2D arrays or matrices representing the atomic level information for the respective index.
Returns:¶
None. Modifies internal class attributes self.ealmat and self.Eff_Atomic_Levels.
- solve(U_int=None, J_hund=None, T=None, verbosity=0, Iteration_Number=1, Test_Convergence=0.0001, n_lev=0, remove_split=False, u4ind=None)¶
Calculate the impurity Green’s function using the Hubbard-I approximation.
- Parameters:
U_int (float, optional) – Interaction strength U.
J_hund (float, optional) – Hund’s coupling J.
T (float, optional) – Temperature of the system.
verbosity (int, optional) – Level of verbosity for the solver. Default is 0.
Iteration_Number (int, optional) – Current iteration number. Default is 1.
Test_Convergence (float, optional) – Convergence criterion for the self-consistency loop. Default is 0.0001.
n_lev (int, optional) – Default is 0.
remove_split (bool, optional) – Default is False.
u4ind (ndarray, optional) – Full 4-index interaction tensor U. If provided, U_int and J_hund should be None.
- Returns:
Modifies internal state of the object but does not return a value.
- Return type:
None
- Raises:
AssertionError – If neither (U_int, J_hund) nor the full U-matrix u4ind are provided.
Notes
The function sets the Green’s function, self-energy, etc., of the class instance.