1 #ifndef STAN_MATH_PRIM_MAT_ERR_CHECK_CORR_MATRIX_HPP 2 #define STAN_MATH_PRIM_MAT_ERR_CHECK_CORR_MATRIX_HPP 42 template <
typename T_y>
46 const Eigen::Matrix<T_y, Eigen::Dynamic, Eigen::Dynamic>& y) {
50 T_y, Eigen::Dynamic, Eigen::Dynamic> >::type size_t;
53 "Rows of correlation matrix", y.rows(),
54 "columns of correlation matrix", y.cols());
58 for (
size_t k = 0; k < y.rows(); ++k) {
60 std::ostringstream msg;
61 msg <<
"is not a valid correlation matrix. " 65 std::string msg_str(msg.str());
68 ", but should be near 1.0");
fvar< T > fabs(const fvar< T > &x)
void check_positive_size(const char *function, const char *name, const char *expr, int size)
Check if size is positive.
void check_size_match(const char *function, const char *name_i, T_size1 i, const char *name_j, T_size2 j)
Check if the provided sizes match.
void check_corr_matrix(const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y)
Check if the specified matrix is a valid correlation matrix.
const double CONSTRAINT_TOLERANCE
The tolerance for checking arithmetic bounds In rank and in simplexes.
Primary template class for the metaprogram to compute the index type of a container.
void check_symmetric(const char *function, const char *name, const Eigen::Matrix< T_y, Eigen::Dynamic, Eigen::Dynamic > &y)
Check if the specified matrix is symmetric.
void domain_error(const char *function, const char *name, const T &y, const char *msg1, const char *msg2)
Throw a domain error with a consistently formatted message.
void check_pos_definite(const char *function, const char *name, const Eigen::Matrix< T_y, -1, -1 > &y)
Check if the specified square, symmetric matrix is positive definite.