 NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library

## ◆ convolution_density_matrix() [2/4]

template<typename T , class GG >
 void cntr::convolution_density_matrix ( int n, cdmatrix & rho, GG & A, function< T > & ft, GG & B, 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\ast F\ast B)^<$$ 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 ft [function] contour function F(t). B [GG] contour Green's function beta inversed temperature h time interval SolveOrder [int] integrator order

Definition at line 3870 of file cntr_convolution_impl.hpp.

3871  {
3872  int size1 = A.size1();
3873  int element_size = size1;
3874  std::complex<T> *rho_ptr;
3875  rho_ptr = new std::complex<T>[element_size];
3876
3877  convolution_density_matrix<T, GG>(n, rho_ptr, A, A, ft, B, B, integration::I<T>(SolveOrder), beta, h);
3878  map_ptr2matrix<T>(size1, size1, rho_ptr, rho);
3879
3880  delete[] rho_ptr;
3881 }