NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library

◆ vie2()

template<typename T >
 void cntr::vie2 ( herm_matrix< T > & G, herm_matrix< T > & F, herm_matrix< T > & Fcc, herm_matrix< T > & Q, T beta, T h, const int SolveOrder, const int matsubara_method )

One step VIE solver $$(1+F)*G=Q$$ for a Green's function $$G$$

Purpose

One solves the linear equation $$(1+F)*G=Q$$ for a hermitian matrix $$G(t, t^\prime)$$ with given $$F(t, t^\prime)$$ and $$Q(t, t^\prime)$$. Here, one calls the routines 'vie2_mat()', 'vie2_start()', 'vie2_timestep'.

Parameters
 &G [herm_matrix] solution &F [herm_matrix] green's function on left-hand side &Fcc [herm_matrix] Complex conjugate of F &Q [herm_matrix] green's function on right-hand side 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

Definition at line 1729 of file cntr_vie2_impl.hpp.

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

1730  {
1731  int tstp;
1732  vie2_mat(G, F, Fcc, Q, beta, SolveOrder, matsubara_method);
1733  if (G.nt() >= 0)
1734  vie2_start(G, F, Fcc, Q, beta, h, SolveOrder);
1735  for (tstp = SolveOrder + 1; tstp <= G.nt(); tstp++)
1736  vie2_timestep(tstp, G, F, Fcc, Q, beta, h, SolveOrder);
1737 }
Here is the call graph for this function: