gem.solvers.solver_template.SolverTemplate

class gem.solvers.solver_template.SolverTemplate(norb, solver_params=None)[source]

Generic Solver class. The aim of this object that, given a general impurity Hamiltonian, it should be able to solve it an return the density matrix.

Only what appears below is used by the Fragment: the methods marked MANDATORY, plus the gs_ene and Zpart attributes set by solve_Hemb. Everything else (dimensions, symmetry sectors, whether the calculation is thermal, bond dimensions, …) is solver-specific: it is decided here, at initialization, or read from self.solver_params, and the Fragment never sets it.

Methods

build_Hemb(D, eloc, Lambdac, V2E[, verbose])

Construct the embedded Hamiltonian.

calc_density_matrix()

Compute the denstiy matrix.

calc_double_occ(i)

Compute the double occupancy <n_up n_dn> of the impurity level i.

compute_E1loc(nimp)

Compute the local one-body energy E1loc = Tr[eloc * denmat_impurity].

compute_E2loc()

Compute the local two-body energy from a given set of thermal states.

missing_methods()

Names of the mandatory methods that are still the gemSolver stubs, i.e. that this solver has not implemented.

solve_Hemb([verbose, T])

Solve the embedded Hamiltonian.

Methods

__init__(norb[, solver_params])

Initialization of the Solver object.

build_Hemb(D, eloc, Lambdac, V2E[, verbose])

Construct the embedded Hamiltonian.

calc_density_matrix()

Compute the denstiy matrix.

calc_double_occ(i)

Compute the double occupancy <n_up n_dn> of the impurity level i.

compute_E1loc(nimp)

Compute the local one-body energy E1loc = Tr[eloc * denmat_impurity].

compute_E2loc()

Compute the local two-body energy from a given set of thermal states.

missing_methods()

Names of the mandatory methods that are still the gemSolver stubs, i.e. that this solver has not implemented.

solve_Hemb([verbose, T])

Solve the embedded Hamiltonian.

Attributes

mandatory_methods