NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library

## ◆ right_multiply()

template<typename T >
 void cntr::herm_matrix< T >::right_multiply ( int tstp, function< T > & ft, T weight = 1.0 )

Right-multiplies the herm_matrix with contour function. Preferred interface.

Purpose

Performs the operation $$C(t,t^\prime) \rightarrow w C(t,t^\prime)F(t^\prime)$$, where $$C(t,t^\prime)$$ is the herm_matrix, $$F(t)$$ is a contour function and $$w$$ is a real weight. The operation is performed at given time step tstp.

Parameters
 tstp [int] The time step at which $$F(t)$$ and $$C(t,t^\prime)$$ are multiplied. ft [function] The contour function. weight [T] The weight as above.

Definition at line 3154 of file cntr_herm_matrix_impl.hpp.

3154  {
3155  switch (size1_) {
3156  case 1:
3157  right_multiply_(tstp, ft, weight, std::integral_constant<int, 1>{});
3158  break;
3159  case 2:
3160  right_multiply_(tstp, ft, weight, std::integral_constant<int, 2>{});
3161  break;
3162  case 3:
3163  right_multiply_(tstp, ft, weight, std::integral_constant<int, 3>{});
3164  break;
3165  case 4:
3166  right_multiply_(tstp, ft, weight, std::integral_constant<int, 4>{});
3167  break;
3168  case 5:
3169  right_multiply_(tstp, ft, weight, std::integral_constant<int, 5>{});
3170  break;
3171  case 8:
3172  right_multiply_(tstp, ft, weight, std::integral_constant<int, 8>{});
3173  break;
3174  default:
3175  right_multiply_(tstp, ft, weight, std::integral_constant<int, LARGESIZE>{});
3176  break;
3177  }
3178 }