NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ smul() [1/2]

template<typename T >
void cntr::herm_matrix< T >::smul ( int  tstp,
weight 
)

Multiplies all component of the herm_matrix with a real scalar.

Purpose

Multiplies all component of the herm_matrix at a given time step tstp with a real scalar weight.

Parameters
tstp

The time step at which the contour object is weighted with a factor.

weight

The weight.

Definition at line 3339 of file cntr_herm_matrix_impl.hpp.

3339  {
3340  int m;
3341  cplx *x0;
3342  assert(tstp >= -1 && tstp <= nt_);
3343  if (tstp == -1) {
3344  x0 = matptr(0);
3345  for (m = 0; m <= ntau_; m++) {
3346  element_smul<T, LARGESIZE>(size1_, x0 + m * element_size_,
3347  weight);
3348  }
3349  } else {
3350  x0 = retptr(tstp, 0);
3351  for (m = 0; m <= tstp; m++) {
3352  element_smul<T, LARGESIZE>(size1_, x0 + m * element_size_,
3353  weight);
3354  }
3355  x0 = tvptr(tstp, 0);
3356  for (m = 0; m <= ntau_; m++) {
3357  element_smul<T, LARGESIZE>(size1_, x0 + m * element_size_,
3358  weight);
3359  }
3360  x0 = lesptr(0, tstp);
3361  for (m = 0; m <= tstp; m++) {
3362  element_smul<T, LARGESIZE>(size1_, x0 + m * element_size_,
3363  weight);
3364  }
3365  }
3366 }
std::complex< T > cplx