NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ convolution_density_matrix() [3/4]

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

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

Purpose

Calls convolution routines to compute contour convolution \(\rho=-i (A*B)^<\) at a given time step 't=nh'. 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

[std::complex] Matrix to which the result of the convolution is given

A

[GG] contour Green's function

Acc

[GG] complex conjugate to A

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 3990 of file cntr_convolution_impl.hpp.

3991  {
3992 
3993  int size1 = A.size1();
3994  int element_size = size1;
3995  std::complex<T> *rho_ptr;
3996  rho_ptr = new std::complex<T>[element_size];
3997 
3998  convolution_density_matrix<T, GG>(n, rho_ptr, A, Acc, B, Bcc, integration::I<T>(SolveOrder), beta, h);
3999  map_ptr2matrix<T>(size1, size1, rho_ptr, rho);
4000 
4001  delete[] rho_ptr;
4002 
4003 }