NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library

## ◆ convolution() [2/2]

template<typename T >
 void cntr::convolution ( herm_matrix< T > & C, herm_matrix< T > & A, herm_matrix< T > & Acc, function< T > & ft, herm_matrix< T > & B, herm_matrix< T > & Bcc, T beta, T h, int SolveOrder )

Returns the result of the contour convolution of two matrices and a function object

Purpose

Calls convolution routines to compute contour convolution C=A*fxB. The objects A,B and C are of the class 'herm_matrix'. If 'n=-1', one performs Matsubara convolution with a function 'F(-1)', otherwise with 'F(t)'. Works for a scalar and square matrices.

Parameters
 C [herm_matrix] Matrix to which the result of the convolution is given A [herm_matrix] contour Green's function Acc [herm_matrix] complex conjugate to A ft [function] contour function B [herm_matrix] contour Green's function Bcc [herm_matrix] complex conjugate to B beta inversed temperature h time interval SolveOrder [int] integrator order

Definition at line 3170 of file cntr_convolution_impl.hpp.

References cntr::herm_matrix< T >::nt(), and cntr::function< T >::ptr().

3172  {
3173  int tstp;
3174  convolution_matsubara(C, A, ft.ptr(-1), B, integration::I<T>(SolveOrder), beta);
3175  for (tstp = 0; tstp <= C.nt(); tstp++)
3176  convolution_timestep<T>(tstp, C, A, Acc, ft, B, Bcc, beta, h, SolveOrder);
3177 }
Here is the call graph for this function: