1 #ifndef __STAN__MATH__ERROR_HANDLING__MATRIX__CHECK_SYMMETRIC_HPP__
2 #define __STAN__MATH__ERROR_HANDLING__MATRIX__CHECK_SYMMETRIC_HPP__
5 #include <boost/type_traits/common_type.hpp>
26 template <
typename T_y,
typename T_result,
class Policy>
28 const Eigen::Matrix<T_y,Eigen::Dynamic,Eigen::Dynamic>& y,
35 size_type k = y.rows();
38 for (size_type m = 0; m < k; ++m) {
39 for (size_type n = m + 1; n < k; ++n) {
41 std::ostringstream message;
42 message << name <<
" is not symmetric. "
43 << name <<
"[" << m <<
"," << n <<
"] is %1%, but "
44 << name <<
"[" << n <<
"," << m
45 <<
"] element is " << y(n,m);
47 = policies::raise_domain_error<T_y>(
function,
48 message.str().c_str(),
60 template <
typename T_y,
typename T_result>
62 const Eigen::Matrix<T_y,Eigen::Dynamic,Eigen::Dynamic>& y,
70 const Eigen::Matrix<T,Eigen::Dynamic,Eigen::Dynamic>& y,