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,
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 }