NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ get_ret() [1/4]

template<typename T >
void get_ret ( const int  i,
const int  j,
std::complex< T > &  G_ret,
herm_matrix_timestep_view< T > &  G,
herm_matrix_timestep_view< T > &  Gcc 
)
inline

Returns the retarded component of a general contour function at given times.

Purpose

Returns the retarded component \( G^\mathrm{R}(t_i,t_j) \) at given times \( t_i\) and \( t_j\). We assume \(G^\mathrm{R}(t_i,t_j)\) can be analytically continued to \( j > i\), for which the hermitian conjugate \(G^\ddagger\) is used.

Parameters
i

[int] Index of time \( t_i\) .

j

[int] Index of time \( t_j\) .

G_ret

[complex<T>] The retarded component (scalar GF).

G

[herm_matrix_timestep_view] Contour function G

Gcc

[herm_matrix_timestep_view] Hermitian conjugate \(G^\ddagger\) of \(G\).

Definition at line 252 of file cntr_getset_herm_matrix_timestep_view_inc.hpp.

Referenced by get_gtr(), and get_ret().

253  {
254  assert(i <= G.tstp() && j <= G.tstp());
255  assert(i == G.tstp() || j == G.tstp());
256  assert(i <= Gcc.tstp() && j <= Gcc.tstp());
257  assert(i == Gcc.tstp() || j == Gcc.tstp());
258  assert(G.tstp() == Gcc.tstp());
259  assert(G.ntau() == Gcc.ntau());
260  assert(G.size1() == Gcc.size1());
261  assert(G.size2() == Gcc.size2());
262  assert(G.sig() == Gcc.sig());
263 
264  if (G.tstp() == i){
265  G_ret = *G.retptr(j);
266  } else if (G.tstp() == j) {
267  G_ret = *Gcc.retptr(i);
268  G_ret = -std::conj(G_ret);
269  }
270 }
+ Here is the caller graph for this function: