31 const double& tol=Eigen::NumTraits<double>::dummy_precision())
38 typedef Eigen::Matrix<double,dim,1>
VectorDim;
39 typedef std::vector<VectorDim> VectorOfNormalsType;
40 VectorOfNormalsType NV_new;
42 for (
size_t i=0;
i<NV.size();++
i)
48 for (
size_t j=0;
j<NV_new.size();++
j)
51 temp -= (
temp.dot(NV_new[
j])*NV_new[
j]).eval();
56 const double tempNorm(
temp.norm());
59 NV_new.push_back(
temp/tempNorm);
65 std::cout<<
"GramSchmidt FAILED. Input vectors:"<<std::endl;
66 for(
const auto&
v : NV)
68 std::cout<<std::setprecision(15)<<std::scientific<<
v.transpose()<<std::endl;
70 std::cout<<
"orthonormal vectors:"<<std::endl;
71 for(
const auto&
v : NV_new)
73 std::cout<<std::setprecision(15)<<std::scientific<<
v.transpose()<<std::endl;
75 std::cout<<
"tol="<<tol<<std::endl;
76 assert(0 &&
"GramSchmidt failed.");