Solver options and accessors

The solver consists of one main object with a constructor and a solve() method, and accessors. The options of the constructor and solve() method are used to give more information as to the desired run, such as number of Matsubara frequencies, number of Monte-Carlo cycles, or which observables have to be measured. The accessors are members of the solver class which are used both to set the inputs of the solver (like the non-interacting Green’s function G0_iw or the dynamical interactions D0_iw) and to read out the observables at the end of the computation (such as G_tau, G_iw or nn_iw).

The options of the constructor are:

Parameter Name

Type

Default

Documentation

beta

double

Inverse temperature

gf_struct

gf_struct_t

Structure of the GF (names, sizes of blocks)

n_tau

int

10001

Number of time slices for \(Delta(\tau)\)/\(G(\tau)\)/\(F(\tau)\)

n_tau_k

int

10001

Number of time slices for \(K(\tau)\)

n_tau_jperp

int

10001

Number of time slices for \(J_\perp(\tau)\)

n_tau_nn

int

101

Number of Legendre coefficients for G(l)

n_w_b_nn

int

32

Number of bosonic Matsub. freqs for \(nn(i\omega)\), \(\mathcal{D}_0(i\omega)\), \(J_\perp\)

n_iw

int

1025

Number of fermionic Matsubara frequencies for \(G_0(i\omega)\), \(G\), \(F\), \(\Sigma\)

The options of the solve() method and the solver accessors are summarized below. They are identical in the C++ and Python interface.

C++ interface

Python interface

class triqs_ctseg.SolverCore

Main solver class

Worker which runs the quantum Monte-Carlo simulation.

D0_iw

Density-density retarded interactions $mathcal{D}^{sigmasigma’}_{0,ab}(iOmega)$

Delta_tau

Hybridization function $Delta^sigma_{ab}(tau)$

F_2w

3-point improved estimator (see [[measure_g2w]])

F_3w

4-point improved estimator (see [[measure_g3w]])

F_iw

Improved estimator function $F^sigma_{ab}(iomega)$ (see [[measure_gw]])

F_l

Improved estimator function in Legendre basis $G^sigma_{ab}(n)$ (see [[measure_gl]])

F_tau

Improved estimator function $F^sigma_{ab}(tau)$ (see [[measure_gt]])

G0_iw

Weiss field $mathcal{G}^{sigma}_{0,ab}(iomega)$

G_2w

3-point correlation function $chi^{sigmasigma’}_{abc}(iomega,iOmega)$ (see [[measure_g2w]])

G_3w

4-point correlation function $chi^{sigmasigma’}_{abcd}(iomega,iomega’,iOmega)$ (see [[measure_g3w]])

G_iw

Impurity Green’s function $G^sigma_{ab}(iomega)$ (see [[measure_gw]])

G_l

Impurity Green’s function in Legendre basis $G^sigma_{ab}(n)$ (see [[measure_gl]])

G_tau

Impurity Green’s function $G^sigma_{ab}(tau)$ (see [[measure_gt]])

Jperp_iw

Dynamical spin-spin interaction, perpendicual components: $mathcal{J}_perp(iOmega)$

Jperp_tau

Dynamical spin-spin interactions $mathcal{J}_perp(tau)$

K_tau

Dynamical kernel $K(tau)$

Kperpprime_tau

Derivative of the dynamical kernel $partial_tau K_perp(tau)$

Kprime_tau

Derivative of the dynamical kernel $partial_tau K(tau)$

Sigma_iw

Impurity self-energy $Sigma^sigma_{ab}(iomega)$ (see [[measure_gw]])

average_sign

Monte Carlo sign

chipm_tau

Spin spin correlation function $langle s_+(tau) s_-(0)rangle$ (see [[measure_chipmt]])

histogram

histogram of hybridization perturbation order (see [[measure_hist]])

histogram_composite

histogram of $mathcal{J}_perp$ perturbation order (see [[measure_hist_composite]])

nn

density-density static correlation $langle n^sigma_a n^{sigma’}_b rangle$ (see [[measure_nn]])

nn_iw

Density-density correlation function $mathrm{FT}left[langle n^sigma_{a}(tau) n^{sigma’}_{b}(0)rangleright]$ (see [[measure_nnw]])

nn_tau

Density-density correlation function $langle n^sigma_{a}(tau) n^{sigma’}_{b}(0)rangle$ (see [[measure_nnt]])

sanity_check()

Signature : (triqs_ctseg::solve_params_t p, int n_w, int n_w_b) -> None

solve()

solve method: starts the Metropolis algorithm

Steps:

  • extract \(\Delta^\sigma_{ab}(\tau)\) and \(\mu^\sigma_a\) from

\(\mathcal{G}^\sigma_{ab}(i\omega)\)

  • if \(\mathcal{D}^{\sigma\sigma'}_{0,ab}(i\Omega)\neq 0\), extract

\(K(^{\sigma\sigma'}_{ab}\tau)\) and $partial_tau K^{sigmasigma’}_{ab}(tau)$ from \(\mathcal{D}^{\sigma\sigma'}_{0,ab}(i\Omega)\)

  • if \(\mathcal{J}_{\perp,a}(i\Omega)\neq 0\), extract $partial_tau

K_{perp,a}(tau)$ from \(\mathcal{J}_{\perp,a}(i\Omega)\) - add the moves and measures according to the parameters supplied by the user

  • start the Monte-Carlo simulation

  • finalize the Monte Carlo simulation

state_histogram

histogram of the boundary states of the trace (see [[measure_statehist]])