1 #ifndef STAN_MATH_REV_MAT_FUN_SCALE_MATRIX_EXP_MULTIPLY_HPP 2 #define STAN_MATH_REV_MAT_FUN_SCALE_MATRIX_EXP_MULTIPLY_HPP 28 template <
typename Ta,
typename Tb,
int Cb>
29 inline Eigen::Matrix<typename stan::return_type<Ta, Tb>::type, -1, Cb>
31 const Eigen::Matrix<Tb, -1, Cb>& B) {
35 check_square(
"scale_matrix_exp_multiply",
"input matrix", A);
void check_nonzero_size(const char *function, const char *name, const T_y &y)
Check if the specified matrix/vector is of non-zero size.
void check_square(const char *function, const char *name, const matrix_cl &y)
Check if the matrix_cl is square.
Eigen::Matrix< fvar< T >, R1, C1 > multiply(const Eigen::Matrix< fvar< T >, R1, C1 > &m, const fvar< T > &c)
Eigen::Matrix< double, -1, Cb > scale_matrix_exp_multiply(const double &t, const Eigen::MatrixXd &A, const Eigen::Matrix< double, -1, Cb > &B)
Return product of exp(At) and B, where A is a NxN double matrix, B is a NxCb double matrix...
void check_multiplicable(const char *function, const char *name1, const T1 &y1, const char *name2, const T2 &y2)
Check if the matrices can be multiplied.
Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > matrix_exp(const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &A)
Return the matrix exponential of the input matrix.