NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library

## ◆ dyson()

template<typename T >
 void cntr::dyson ( herm_matrix< T > & G, T mu, function< T > & H, herm_matrix< T > & Sigma, T beta, T h, const int SolveOrder, const int matsubara_method, const bool force_hermitian )

Solver of the Dyson equation in the integral-differential form for a Green's function $$G$$

Purpose

One solves the Dyson equation of the following form: $$[ id/dt + \mu - H(t) ] G(t,t^\prime) - [\Sigma*G](t,t^\prime) = \delta(t,t^\prime)$$ for a hermitian matrix $$G(t, t^\prime)$$ with given $$\Sigma(t, t^\prime)$$, $$\mu$$, and $$H(t)$$. Here, one calls the routines 'dyson_mat()', 'dyson_start()', 'dyson_timestep'.

Parameters
 &G [herm_matrix] solution mu [T] chemical potential &H [function] time-dependent function &Sigma [herm_matrix] self-energy beta [double] inverse temperature h [double] time interval SolveOrder [int] integrator order matsubara_method [int] Solution method on the Matsubara axis with 0: Fourier, 1: steep, 2: fixpoint force_hermitian [bool] force hermitian solution

Definition at line 1725 of file cntr_dyson_impl.hpp.

References cntr::herm_matrix< T >::nt().

1727  {
1728  int n, nt = G.nt();
1729  dyson_mat(G, mu, H, Sigma, beta, SolveOrder, matsubara_method, force_hermitian);
1730  if (nt >= 0)
1731  dyson_start(G, mu, H, Sigma, beta, h, SolveOrder);
1732  for (n = SolveOrder + 1; n <= nt; n++)
1733  dyson_timestep(n, G, mu, H, Sigma, beta, h, SolveOrder);
1734 }
Here is the call graph for this function: