NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ force_matsubara_hermitian() [1/2]

template<typename T >
void cntr::force_matsubara_hermitian ( herm_matrix< T > &  G)

Force the Matsubara component of herm_matrix to be a hermitian matrix at each \( \tau \).

Purpose

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

Parameters
G

herm_matrix to be modulated

Definition at line 2077 of file cntr_utilities_impl.hpp.

References cntr::herm_matrix< T >::ntau(), and cntr::herm_matrix< T >::size1().

Referenced by dyson_mat().

2077  {
2078  int ntau = G.ntau(), m, s1 = G.size1(), p1, p2;
2079  cdmatrix Gmat,Gmat_herm;
2080  for (m = 0; m <= ntau; m++) {
2081  G.get_mat(m,Gmat);
2082  Gmat_herm = 0.5*(Gmat + Gmat.adjoint());
2083  G.set_mat(m,Gmat_herm);
2084  }
2085 }
+ Here is the call graph for this function:
+ Here is the caller graph for this function: