NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library

## ◆ get_les() [2/4]

template<typename T >
 void get_les ( const int i, const int j, cdmatrix & G_les, herm_matrix_timestep_view< T > & G, herm_matrix_timestep_view< T > & Gcc )

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

Purpose

Returns the lesser component $$G^<(t_i,t_j)$$ at given times $$t_i$$ and $$t_j$$. For $$i > j$$ the hermitian conjugate $$G^\ddagger$$ is used.

Parameters
 i [int] Index of time $$t_i$$ . j [int] Index of time $$t_j$$ . G_les [cdmatrix] The lesser component (returned to an eigen3 matrix). G [herm_matrix_timestep_view] Contour function G Gcc [herm_matrix_timestep_view] Hermitian conjugate $$G^\ddagger$$ of $$G$$.

Definition at line 199 of file cntr_getset_herm_matrix_timestep_view_inc.hpp.

200  {
201  assert(i <= G.tstp() && j <= G.tstp());
202  assert(i == G.tstp() || j == G.tstp());
203  assert(i <= Gcc.tstp() && j <= Gcc.tstp());
204  assert(i == Gcc.tstp() || j == Gcc.tstp());
205  assert(G.tstp() == Gcc.tstp());
206  assert(G.ntau() == Gcc.ntau());
207  assert(G.size1() == Gcc.size1());
208  assert(G.size2() == Gcc.size2());
209  assert(G.sig() == Gcc.sig());
210  std::complex<T> *les;
211  int size1=G.size1(), size2=G.size2();
212
213  if (G.tstp() == j){
214  les = G.lesptr(i);
215  map_ptr2matrix(size1, size2, les, G_les);
216  } else if (G.tstp() == i) {
217  les = Gcc.lesptr(j);
218  map_ptr2matrix(size1, size2, les, G_les);