NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library

## ◆ dyson_mat() [2/2]

template<typename T >
 void cntr::dyson_mat ( herm_matrix< T > & G, T mu, function< T > & H, function< T > & SigmaMF, herm_matrix< T > & Sigma, T beta, const int SolveOrder, const int method, const bool force_hermitian )

Dyson solver (integral-differential form) for a Green's function $$G$$. Global interface

Purpose

One solves the Dyson equation of the following form: $$[ id/dt + \mu - H(t) ] G(t,t^\prime) - [\Sigma*G](t,t^\prime) = \delta(t,t^\prime)$$ for a hermitian matrix $$G(t, t^\prime)$$ on a Matsubara axis. There are 3 possible methods for solution: Fourier, steep, and fixpoint. Fixpoint method is choosen by default.

Parameters
 &G [herm_matrix] solution mu [T] chemical potential &H [function] time-dependent function &SigmaMF [herm_matrix] mean-field self-energy &Sigma [herm_matrix] self-energy beta [double] inverse temperature SolveOrder [int] integrator order method [const] Solution method on the Matsubara axis with 0: Fourier, 1: steep, 2: fixpoint force_hermitian [const bool] force hermitian solution, if 'true'

Definition at line 1274 of file cntr_dyson_impl.hpp.

References force_matsubara_hermitian().

1276  {
1277  assert(method <= 2 && "UNKNOWN CNTR_MAT_METHOD");
1278  assert(SolveOrder <= MAX_SOLVE_ORDER);
1279
1280  const int fourier_order = 3;
1281  const double tol=1.0e-12;
1282  int maxiter;
1283  switch(method){
1284  case CNTR_MAT_FOURIER:
1285  dyson_mat_fourier(G, Sigma, mu, H, SigmaMF, beta, fourier_order);
1286  break;
1287  case CNTR_MAT_CG:
1288  maxiter = 40;
1289  dyson_mat_steep(G, Sigma, mu, H, SigmaMF, integration::I<T>(SolveOrder), beta, maxiter, tol);
1290  break;
1291  default:
1292  maxiter = 6;
1293  dyson_mat_fixpoint(G, Sigma, mu, H, SigmaMF, integration::I<T>(SolveOrder), beta, maxiter);
1294  break;
1295  }
1296  if(force_hermitian){
1298  }
1299 }
void force_matsubara_hermitian(herm_matrix< T > &G)
Force the Matsubara component of herm_matrix to be a hermitian matrix at each . ...
Here is the call graph for this function: