NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library
cntr_response_convolution_decl.hpp
Go to the documentation of this file.
1 #ifndef CNTR_RESPONSE_CONVOLUTION_DECL_H
2 #define CNTR_RESPONSE_CONVOLUTION_DECL_H
3 
5 
6 namespace cntr {
7 
8 /*###########################################################################################
9 #
10 # CONVOLUTION c=W*f with a response function
11 #
12 # c(t) = \int_C dt' W_{a1,a2}(t,t') f_{b1,b2}(t')
13 #
14 # - Assuming that W is hermitian, i.e.,
15 # Wles_{a1,a2}(t',t) = -Wles_{a2,a1}(t,t')^* etc.
16 # - needs timesteps 0...kt of W for t<=kt
17 # => the bersion using only a herm_matrix_timestep works only for tstp=-1 and tstp>=kt
18 #
19 ###########################################################################################*/
20 
21 
56 template <typename T>
57 void response_convolution(int tstp, std::complex<T> &cc, herm_matrix<T> &W, int a1, int a2,
58  function<T> &f, int b1, int b2, int kt, T beta, T h);
59 
94 template <typename T>
95 void response_convolution(int tstp, std::complex<T> &cc, herm_matrix_timestep<T> &W, int a1,
96  int a2, function<T> &f, int b1, int b2, int kt, T beta, T h);
97 
98 } // namespace cntr
99 
100 #endif // CNTR_RESPONSE_CONVOLUTION_DECL_H
void response_convolution(int tstp, std::complex< T > &cc, herm_matrix< T > &W, int a1, int a2, function< T > &f, int b1, int b2, int kt, T beta, T h)
Evaluate the convolution between a two-time contour function ( ) and a real-time function ( ) at the...