NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library

## ◆ left_multiply()

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

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

Purpose

Performs the operation $$C(t,t^\prime) \rightarrow w F(t)C(t,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 2903 of file cntr_herm_matrix_impl.hpp.

2903  {
2904  switch (size1_) {
2905  case 1:
2906  left_multiply_(tstp, ft, weight, std::integral_constant<int, 1>{});
2907  break;
2908  case 2:
2909  left_multiply_(tstp, ft, weight, std::integral_constant<int, 2>{});
2910  break;
2911  case 3:
2912  left_multiply_(tstp, ft, weight, std::integral_constant<int, 3>{});
2913  break;
2914  case 4:
2915  left_multiply_(tstp, ft, weight, std::integral_constant<int, 4>{});
2916  break;
2917  case 5:
2918  left_multiply_(tstp, ft, weight, std::integral_constant<int, 5>{});
2919  break;
2920  case 8:
2921  left_multiply_(tstp, ft, weight, std::integral_constant<int, 8>{});
2922  break;
2923  default:
2924  left_multiply_(tstp, ft, weight, std::integral_constant<int, LARGESIZE>{});
2925  break;
2926  }
2927 }