1 #ifndef STAN_MATH_PRIM_MAT_FUN_ADD_DIAG_HPP 2 #define STAN_MATH_PRIM_MAT_FUN_ADD_DIAG_HPP 20 template <
typename T_m,
typename T_a>
21 inline typename Eigen::Matrix<typename return_type<T_m, T_a>::type,
22 Eigen::Dynamic, Eigen::Dynamic>
23 add_diag(
const Eigen::Matrix<T_m, Eigen::Dynamic, Eigen::Dynamic> &mat,
25 Eigen::Matrix<typename return_type<T_m, T_a>::type, Eigen::Dynamic,
28 out.diagonal().array() += to_add;
43 template <
typename T_m,
typename T_a,
int R,
int C>
44 inline typename Eigen::Matrix<typename return_type<T_m, T_a>::type,
45 Eigen::Dynamic, Eigen::Dynamic>
46 add_diag(
const Eigen::Matrix<T_m, Eigen::Dynamic, Eigen::Dynamic> &mat,
47 const Eigen::Matrix<T_a, R, C> &to_add) {
48 const size_t length_diag =
std::min(mat.rows(), mat.cols());
52 Eigen::Matrix<typename return_type<T_m, T_a>::type, Eigen::Dynamic,
55 out.diagonal() += to_add;
int min(const std::vector< int > &x)
Returns the minimum coefficient in the specified column vector.
Eigen::Matrix< typename return_type< T_m, T_a >::type, Eigen::Dynamic, Eigen::Dynamic > add_diag(const Eigen::Matrix< T_m, Eigen::Dynamic, Eigen::Dynamic > &mat, const T_a &to_add)
Returns a Matrix with values added along the main diagonal.
void check_consistent_size(const char *function, const char *name, const T &x, size_t expected_size)
Check if the dimension of x is consistent, which is defined to be expected_size if x is a vector or 1...