NESSI  v1.1.2
The NonEquilibrium Systems SImulation Library

◆ convolution() [1/3]

template<typename T >
void cntr::convolution ( herm_matrix< T > &  C,
herm_matrix< T > &  A,
herm_matrix< T > &  Acc,
herm_matrix< T > &  B,
herm_matrix< T > &  Bcc,
integration::Integrator< T > &  I,
beta,
h 
)

Returns the result of the contour convolution of two 'herm_matrix' objects

Purpose

Calls convolution routines to compute contour convolution C=A*B. The objects A,B and C are of the class 'herm_matrix'. 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

B

[herm_matrix] contour Green's function

Bcc

[herm_matrix] complex conjugate to B

I

[Integrator] integrator class

beta

inversed temperature

h

time step interval

Definition at line 1683 of file cntr_convolution_impl.hpp.

References convolution_matsubara(), integration::I(), and cntr::herm_matrix< T >::nt().

1685  {
1686  int tstp;
1687  convolution_matsubara(C, A, B, I, beta);
1688  for (tstp = 0; tstp <= C.nt(); tstp++)
1689  convolution_timestep<T>(tstp, C, A, Acc, B, Bcc, I, beta, h);
1690 }
Integrator< T > & I(int k)
void convolution_matsubara(GG &C, GG &A, GG &B, integration::Integrator< T > &I, T beta)
Returns the result of the Matsubara convolution of two matrices.
+ Here is the call graph for this function: