 NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library

## ◆ convolution_density_matrix() [1/4]

template<typename T , class GG >
 void cntr::convolution_density_matrix ( int n, cdmatrix & rho, GG & A, GG & Acc, function< T > & ft, GG & B, GG & Bcc, T beta, T h, int SolveOrder )

Returns the result of the contour convolution and a contour function for a density matrix at a given time-step

Purpose

Calls convolution routines to compute contour convolution $$\rho=-i (A*FxB)^<$$ of the objects 'A' and 'B' and a time-dependent contour function $$F(t)$$ at a given time step 't=nh'. If 'n=-1', one performs the Matsubara convolution. The objects 'A' and 'B' are of the class type 'GG'. Works for a scalar and square matrices.

Parameters
 n [int] number of the time step ('t=nh') rho [cdmatrix] complex function to which the result of the convolution is given A [GG] contour Green's function Acc [GG] complex conjugate to A ft [function] contour function F(t). B [GG] contour Green's function Bcc [GG] complex conjugate to B beta inversed temperature h time interval SolveOrder [int] integrator order

Definition at line 3784 of file cntr_convolution_impl.hpp.

3785  {
3786  int size1 = A.size1();
3787  int element_size = size1;
3788  std::complex<T> *rho_ptr;
3789  rho_ptr = new std::complex<T>[element_size];
3790
3791  convolution_density_matrix<T, GG>(n, rho_ptr, A, Acc, ft, B, Bcc, integration::I<T>(SolveOrder), beta, h);
3792  map_ptr2matrix<T>(size1, size1, rho_ptr, rho);
3793
3794  delete[] rho_ptr;
3795 }