5 #ifndef __pinocchio_math_gram_schmidt_orthonormalisation_hpp__
6 #define __pinocchio_math_gram_schmidt_orthonormalisation_hpp__
19 template<
typename MatrixType,
typename VectorType>
21 const Eigen::MatrixBase<MatrixType> & basis,
const Eigen::MatrixBase<VectorType> & vec_)
24 VectorType &
vec = vec_.const_cast_derived();
27 assert((basis.transpose() * basis).isIdentity() &&
"The input basis is not orthonormal.");
29 for (Eigen::DenseIndex col_id = 0; col_id < basis.cols(); ++col_id)
31 const auto col = basis.col(col_id);
36 assert((basis.transpose() *
vec).isZero());
40 #endif // ifndef __pinocchio_math_gram_schmidt_orthonormalisation_hpp__