27 template <
int D,
typename T>
28 BaseVertex<D, T>::BaseVertex() :
29 OptimizableGraph::Vertex(),
35 template <
int D,
typename T>
36 double BaseVertex<D, T>::solveDirect(
double lambda) {
37 Eigen::Matrix<double, D, D, Eigen::ColMajor> tempA=_hessian + Eigen::Matrix<double, D, D, Eigen::ColMajor>::Identity()*lambda;
38 double det=tempA.determinant();
39 if (
g2o_isnan(det) || det < std::numeric_limits<double>::epsilon())
41 Eigen::Matrix<double, D, 1, Eigen::ColMajor> dx=tempA.llt().solve(_b);
46 template <
int D,
typename T>
47 void BaseVertex<D, T>::clearQuadraticForm() {
51 template <
int D,
typename T>
52 void BaseVertex<D, T>::mapHessianMemory(
double* d)
54 new (&_hessian) HessianBlockType(d, D, D);