Miscellaneous

Integration

template<typename Integrand, typename Q = std::result_of_t<Integrand(double)>>
struct Adapt

Adaptive integration using 4-point Gauss-Lobatto rule with 7-point Gauss-Kronrod extension, and 13-point Gauss-Kronrod as error estimate.

Public Functions

auto integrate(double a, double b) -> Q

Integrate integrand from a to b.

auto integrate(double a, double b, Q fa, Q fb, Q is) -> Q

Helper function for recursion: Integrate integrand in subinterval [a, b], reusing the boundary values fa, fb and given error estimate is.

Useful structs

struct fRG_config

Struct that holds all essential parameters that are not defined globally. Overrides global parameters, if required.

  • nODE_: Maximal number of steps that the ODE solver shall do minus number of checkpoints.

  • epsODE_abs_: absolute accuracy of the ODE solver

  • epsODE_rel_: relative accuracy of the ODE solver

  • U: impurity on-site interaction strength. Recommendation: set to 1.0

  • T: temperature

  • Gamma: hybridization strength

  • epsilon: Impurity on-site energy

  • save_intermediateResults: determines whether intermediate results during individual steps of the ODE solver shall be saved or not.

  • nloops: maximal loop order to be computed during the fRG flow

  • number_of_nodes: number of nodes to be used during the computation

struct VertexInput

Auxiliary struct that contains all input variables of vertices.

  • iK : integer from 0 to 15 (Keldysh indices expressed as one integer)

  • w, v1, v2 : frequency arguments

  • i_in : additional internal index (currently unused)

  • spin : 0 or 1 for the two comfigurations (0 for V, 1 for V^)

  • channel_bubble : ‘a’, ‘t’ or ‘p’, or ‘f’

Subclassed by IndicesSymmetryTransformations

struct IndicesSymmetryTransformations : public VertexInput

Specifies the diagrammatic contribution, including modifications by prefactors, complex conjugation, etc.

  • prefactor: fermionic sign factor; comes in effect for T1, T2 (and sometimes Tc)

  • conjugate: complex conjugation?

  • asymmetry_transform

  • channel_rvert: channel of the reducible vertex