SRBA: Sparser Relative Bundle Adjustment
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Public Types | Public Member Functions | Public Attributes | Static Public Attributes
srba::internal::solver_engine< true, true, RBA_ENGINE > Struct Template Reference

Detailed Description

template<class RBA_ENGINE>
struct srba::internal::solver_engine< true, true, RBA_ENGINE >

SOLVER: Lev-Marq with Schur, with Sparse Cholesky (CSparse library)

Definition at line 410 of file lev-marq_solvers.h.

#include <lev-marq_solvers.h>

List of all members.

Public Types

typedef
RBA_ENGINE::hessian_traits_t 
hessian_traits_t

Public Member Functions

 solver_engine (const int verbose_level, mrpt::utils::CTimeLogger &profiler, typename hessian_traits_t::TSparseBlocksHessian_Ap &HAp_, typename hessian_traits_t::TSparseBlocksHessian_f &Hf_, typename hessian_traits_t::TSparseBlocksHessian_Apf &HApf_, Eigen::VectorXd &minus_grad_, const size_t nUnknowns_k2k_, const size_t nUnknowns_k2f_)
bool solve (const double lambda)
void realize_lambda_changed ()
void realize_relinearized ()
bool was_ith_feature_invertible (const size_t i)
void get_extra_results (typename RBA_ENGINE::rba_options_t::solver_t::extra_results_t &out_info)

Public Attributes

const int m_verbose_level
mrpt::utils::CTimeLoggerm_profiler
const size_t nUnknowns_k2k
const size_t nUnknowns_k2f
Eigen::VectorXd delta_eps
 The result of solving Ax=b will be stored here.
hessian_traits_t::TSparseBlocksHessian_Ap & HAp
hessian_traits_t::TSparseBlocksHessian_f & Hf
hessian_traits_t::TSparseBlocksHessian_Apf & HApf
Eigen::VectorXd & minus_grad
SchurComplement< typename
hessian_traits_t::TSparseBlocksHessian_Ap,
typename
hessian_traits_t::TSparseBlocksHessian_f,
typename
hessian_traits_t::TSparseBlocksHessian_Apf > 
schur_compl
Eigen::MatrixXd denseH
Eigen::LLT< Eigen::MatrixXd,
Eigen::Upper > 
denseChol
bool denseChol_is_uptodate
bool hessian_is_valid
 Whether the hessian was correctly evaluated at least once.

Static Public Attributes

static const size_t POSE_DIMS = RBA_ENGINE::kf2kf_pose_t::REL_POSE_DIMS
static const size_t LM_DIMS = RBA_ENGINE::landmark_t::LM_DIMS

Constructor & Destructor Documentation

template<class RBA_ENGINE >
srba::internal::solver_engine< true, true, RBA_ENGINE >::solver_engine ( const int  verbose_level,
mrpt::utils::CTimeLogger profiler,
typename hessian_traits_t::TSparseBlocksHessian_Ap &  HAp_,
typename hessian_traits_t::TSparseBlocksHessian_f &  Hf_,
typename hessian_traits_t::TSparseBlocksHessian_Apf &  HApf_,
Eigen::VectorXd &  minus_grad_,
const size_t  nUnknowns_k2k_,
const size_t  nUnknowns_k2f_ 
) [inline]

Constructor

Definition at line 443 of file lev-marq_solvers.h.


Member Function Documentation

template<class RBA_ENGINE >
void srba::internal::solver_engine< true, true, RBA_ENGINE >::get_extra_results ( typename RBA_ENGINE::rba_options_t::solver_t::extra_results_t &  out_info) [inline]

Here, out_info is of type srba::options::solver_LM_schur_dense_cholesky::extra_results_t

Definition at line 586 of file lev-marq_solvers.h.


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends