NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ herm_matrix_timestep() [4/6]

template<typename T >
cntr::herm_matrix_timestep< T >::herm_matrix_timestep ( int  tstp,
int  ntau,
int  size1,
int  size2,
int  sig 
)

Initializes the herm_matrix_timestep class for a general matrix.

Purpose

Initializes the herm_matrix_timestep class for a general matrix, where the number of column and rows can be different.

Parameters
tstp

Time step

ntau

Number of points on Matsubara axis

size1

Number of matrix rows

size2

Number of matrix columns

sig

Set sig = -1 for fermions or sig = +1 for bosons.

Definition at line 95 of file cntr_herm_matrix_timestep_impl.hpp.

95  {
96 int len=((tstp+1)*2+(ntau+1))*size1*size2;
97 assert(size1>=0 && tstp>=-1 && ntau>=0);
98 if(len==0) data_=0;
99 else{
100  data_ = new cplx [len];
101  memset(data_, 0, sizeof(cplx)*len);
102 }
103 size1_=size1;
104 size2_=size2;
105 element_size_=size1*size2;
106 tstp_=tstp;
107 ntau_=ntau;
108 total_size_=len;
109 sig_=sig;
110 }