NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ force_matsubara_hermitian() [2/2]

template<class GG >
void cntr::force_matsubara_hermitian ( GG &  G)

Force the Matsubara component of a two-time contour object to be a hermitian matrix at each \( \tau \).

Purpose

Force the Matsubara component of herm_matrix to be a two-time contour object at each \( \tau \) by \( \hat{G}^M(\tau)=\frac{1}{2} \bigl\{\hat{G}^M(\tau)+[\hat{G}^{M}(\tau) ]^{\dagger} \bigl\}.\)

Parameters
G

[GG] a two-time contour object to be modified

Definition at line 2100 of file cntr_utilities_impl.hpp.

2100  {
2101  int ntau = G.ntau(), m, s1 = G.size1(), p1, p2;
2102  cdmatrix Gmat,Gmat_herm;
2103  for (m = 0; m <= ntau; m++) {
2104  G.get_mat(m,Gmat);
2105  Gmat_herm = 0.5*(Gmat + Gmat.adjoint());
2106  G.set_mat(m,Gmat_herm);
2107  }
2108 }