NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ get_vt() [10/12]

template<typename T >
void cntr::get_vt ( const int  m,
const int  i,
cdmatrix &  G_vt,
herm_matrix_timestep_view< T > &  G,
herm_matrix_timestep_view< T > &  Gcc 
)

Returns the right-mixing component of a general contour function at given times.

Purpose

Returns the right-mixing component \( G^\lceil(\tau_m,t_i) \) at given times \( t_i\) and \( \tau_m\). The hermitian conjugate \(G^\ddagger\) is used.

Parameters
m

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

i

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

G_vt

[cdmatrix] The right-mixing 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 474 of file cntr_getset_herm_matrix_timestep_view_inc.hpp.

475  {
476  assert(i == G.tstp());
477  assert(m <= G.ntau());
478  assert(G.tstp() == Gcc.tstp());
479  assert(G.ntau() == Gcc.ntau());
480  assert(G.size1() == Gcc.size1());
481  assert(G.size2() == Gcc.size2());
482  assert(G.sig() == Gcc.sig());
483  int size1 = G.size1(), size2 = G.size2();
484  std::complex<T> *vt;
485 
486  vt = Gcc.tvptr(G.ntau() - m);
487  map_ptr2matrix(size1, size2, vt, G_vt);
488  G_vt.adjointInPlace();
489  G_vt = std::complex<T>(-G.sig(),0.0) * G_vt;
490 }