5 #ifndef __pinocchio_python_utils_eigen_hpp__
6 #define __pinocchio_python_utils_eigen_hpp__
16 template<
typename Matrix>
17 Eigen::Ref<Matrix>
make_ref(
const Eigen::PlainObjectBase<Matrix> & mat)
19 typedef Eigen::Ref<Matrix> ReturnType;
20 return ReturnType(
mat.const_cast_derived());
23 template<
typename Matrix>
24 void make_symmetric(
const Eigen::MatrixBase<Matrix> & mat,
const int mode = Eigen::Upper)
26 if (mode == Eigen::Upper)
28 mat.const_cast_derived().template triangularView<Eigen::StrictlyLower>() =
29 mat.transpose().template triangularView<Eigen::StrictlyLower>();
31 else if (mode == Eigen::Lower)
33 mat.const_cast_derived().template triangularView<Eigen::StrictlyUpper>() =
34 mat.transpose().template triangularView<Eigen::StrictlyUpper>();
38 template<
typename Matrix>
42 return ReturnType(
mat);
48 #endif // ifndef __pinocchio_python_utils_eigen_hpp__