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,
beta,
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<T>] solution

&F

[herm_matrix<T>] green's function on left-hand side

&Fcc

[herm_matrix<T>] Complex conjugate of F

&Q

[herm_matrix<T>] 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: