triqs_cthyb.solver.Solver.solve

Solver.solve(**params_kw)[source]

Solve the impurity problem for a given G0_iw. If measure_G_tau (default = True), G_iw and Sigma_iw will be calculated and their tails fitted. In addition to the solver parameters, parameters to control the tail fitting can be provided.

Moreover, the fundamental property \(G_{ij}(i \omega_n) = G_{ji}^*(- i \omega_n)\) of the input G0_iw is enforced within C++, and a warning is printed if the property was not satisfied. Additionally, if measure_G_tau is set to True, the property \(G_{ij}(\tau)= G_{ji}^*(\tau)\) will be also ensured for the measured \(G(\tau)\). The difference between the original \(G(\tau)\) and the hermitized \(G(\tau)\) is stored in the object asymmetry_G_tau of the solver instance.

Parameters:

params_kw : dict {‘param’:value} that is passed to the core solver.

Two required parameters are
  • h_int (Operator object): the local Hamiltonian of the impurity problem to be solved,

  • n_cycles (int): number of measurements to be made.

perform_post_proc : boolean, optional, default = True

Should G_iw and Sigma_iw be calculated?

perform_tail_fit : boolean, optional, default = False

Should the tails of Sigma_iw and G_iw be fitted?

fit_max_moment : integer, optional, default = 3

Highest moment to fit in the tail of Sigma_iw.

fit_known_moments : ndarray.shape[order, Sigma_iw[0].target_shape], optional, default = None

Known moments of Sigma_iw, given as an numpy ndarray

fit_min_n : integer, optional, default = int(0.8 * self.n_iw)

Index of iw from which to start fitting.

fit_max_n : integer, optional, default = n_iw

Index of iw to fit until.