NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ function() [3/5]

template<typename T >
cntr::function< T >::function ( int  nt,
int  size1,
int  size2 

Initializes the function class for a non-square-matrix-valued function of time.


Initializes the function class for a non-square-matrix valued function of time. nt = 0 leads to only one element (with time = -1), which is the value of function on the Matsubara axis (initial equilibirum)


Number of time steps


Leading dimension of matrix


Second dimension of matrix

Definition at line 81 of file cntr_function_impl.hpp.

81  {
82  int len=(nt+2)*size1*size2;
83  assert(size1>=0 && nt>=-1);
84  if(len==0) data_=0;
85  else{
86  data_ = new cplx [len];
87  memset(data_, 0, sizeof(cplx)*len);
88  }
89  size1_=size1;
90  size2_=size2;
91  element_size_=size1*size2_;
92  nt_=nt;
93  total_size_ = len;
94 }
int size2_
Number of the rows in the Matrix form.
int size1(void) const
int size2(void) const
int total_size_
Size of the data stored for the function on the real-time axis including ; * size1 * size2 ...
cplx * data_
Pointer to the function in the Matrix form on the real-time axis ( ) ; &#39;data_+ element_size&#39; corresp...
int size1_
Number of the colums in the Matrix form.
int nt(void) const
std::complex< T > cplx
int nt_
Maximum number of the time steps.