NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ incr() [2/2]

template<typename T >
void cntr::herm_matrix_timestep< T >::incr ( herm_matrix< T > &  g,
alpha = 1.0 
)

Increase the value of the herm_matrix_timestep by \(\alpha g(t)\)

Purpose

Increase the value of herm_matrix_timestep by a value of \(\alpha g(t) \), where \( g(t)\) is a herm_matrix and \(\alpha \) is a complex number. If \(t>-1\) then ret,les,tv components are set, otherwise mat. Works for scalar or square-matrix contour objects.

Parameters
g

The herm_matrix which is added

alpha

Constant multiplication factor

Definition at line 1970 of file cntr_herm_matrix_timestep_impl.hpp.

References cntr::herm_matrix< T >::nt(), cntr::herm_matrix< T >::ntau(), and cntr::herm_matrix< T >::size1().

1970  {
1971  int i, len;
1972  cplx *x, *x0;
1973  assert(tstp_ <= g.nt() && ntau_ == g.ntau() && size1_ == g.size1());
1974  if (tstp_ == -1) {
1975  len = (ntau_ + 1) * element_size_;
1976  x = g.matptr(0);
1977  x0 = data_;
1978  HERM_MATRIX_INCR_TSTP
1979  } else {
1980  len = (tstp_ + 1) * element_size_;
1981  x = g.retptr(tstp_, 0);
1982  x0 = data_;
1983  HERM_MATRIX_INCR_TSTP
1984  len = (ntau_ + 1) * element_size_;
1985  x = g.tvptr(tstp_, 0);
1986  x0 = data_ + (tstp_ + 1) * element_size_;
1987  HERM_MATRIX_INCR_TSTP
1988  len = (tstp_ + 1) * element_size_;
1989  x = g.lesptr(0, tstp_);
1990  x0 = data_ + (tstp_ + 1 + ntau_ + 1) * element_size_;
1991  HERM_MATRIX_INCR_TSTP
1992  }
1993 }
+ Here is the call graph for this function: