SOLVER: Lev-Marq with Schur, with Sparse Cholesky (CSparse library)
Definition at line 214 of file lev-marq_solvers.h.
#include <mrpt/srba/impl/lev-marq_solvers.h>
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_) | |
| Constructor. More... | |
| ~solver_engine () | |
| bool | solve (const double lambda) |
| void | realize_relinearized () |
| void | realize_lambda_changed () |
| bool | was_ith_feature_invertible (const size_t i) |
| void | get_extra_results (typename RBA_ENGINE::rba_options_type::solver_t::extra_results_t &out_info) |
| Here, out_info is of type mrpt::srba::options::solver_LM_no_schur_sparse_cholesky::extra_results_t. More... | |
Public Attributes | |
| const int | m_verbose_level |
| mrpt::utils::CTimeLogger & | m_profiler |
| const size_t | nUnknowns_k2k |
| const size_t | nUnknowns_k2f |
| Eigen::VectorXd | delta_eps |
| hessian_traits_t::TSparseBlocksHessian_Ap & | HAp |
| hessian_traits_t::TSparseBlocksHessian_f & | Hf |
| hessian_traits_t::TSparseBlocksHessian_Apf & | HApf |
| Eigen::VectorXd & | minus_grad |
| mrpt::math::CSparseMatrix * | sS |
| Sparse Hessian. More... | |
| bool | sS_is_valid |
| Whether the Hessian was filled in, in sS. More... | |
| SparseCholeskyDecompPtr | ptrCh |
| Cholesky object, as a pointer to reuse it between iterations. More... | |
| SchurComplement< typename hessian_traits_t::TSparseBlocksHessian_Ap, typename hessian_traits_t::TSparseBlocksHessian_f, typename hessian_traits_t::TSparseBlocksHessian_Apf > | schur_compl |
Static Public Attributes | |
| static const size_t | POSE_DIMS = RBA_ENGINE::kf2kf_pose_type::REL_POSE_DIMS |
| static const size_t | LM_DIMS = RBA_ENGINE::lm_type::LM_DIMS |
| typedef RBA_ENGINE::hessian_traits_t mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::hessian_traits_t |
Definition at line 216 of file lev-marq_solvers.h.
|
inline |
Constructor.
Definition at line 244 of file lev-marq_solvers.h.
|
inline |
Definition at line 269 of file lev-marq_solvers.h.
|
inline |
Here, out_info is of type mrpt::srba::options::solver_LM_no_schur_sparse_cholesky::extra_results_t.
Definition at line 397 of file lev-marq_solvers.h.
References mrpt::math::CSparseMatrix::swap().
|
inline |
Definition at line 388 of file lev-marq_solvers.h.
|
inline |
Definition at line 381 of file lev-marq_solvers.h.
References DETAILED_PROFILING_ENTER, and DETAILED_PROFILING_LEAVE.
|
inline |
Definition at line 279 of file lev-marq_solvers.h.
References mrpt::math::CSparseMatrix::clear(), mrpt::math::CSparseMatrix::compressFromTriplet(), DETAILED_PROFILING_ENTER, DETAILED_PROFILING_LEAVE, mrpt::math::CSparseMatrix::insert_submatrix(), and VERBOSE_LEVEL.
|
inline |
Definition at line 392 of file lev-marq_solvers.h.
| Eigen::VectorXd mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::delta_eps |
Definition at line 225 of file lev-marq_solvers.h.
| hessian_traits_t::TSparseBlocksHessian_Ap& mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::HAp |
Definition at line 226 of file lev-marq_solvers.h.
| hessian_traits_t::TSparseBlocksHessian_Apf& mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::HApf |
Definition at line 228 of file lev-marq_solvers.h.
| hessian_traits_t::TSparseBlocksHessian_f& mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::Hf |
Definition at line 227 of file lev-marq_solvers.h.
|
static |
Definition at line 219 of file lev-marq_solvers.h.
| mrpt::utils::CTimeLogger& mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::m_profiler |
Definition at line 222 of file lev-marq_solvers.h.
| const int mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::m_verbose_level |
Definition at line 221 of file lev-marq_solvers.h.
| Eigen::VectorXd& mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::minus_grad |
Definition at line 229 of file lev-marq_solvers.h.
| const size_t mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::nUnknowns_k2f |
Definition at line 224 of file lev-marq_solvers.h.
| const size_t mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::nUnknowns_k2k |
Definition at line 224 of file lev-marq_solvers.h.
|
static |
Definition at line 218 of file lev-marq_solvers.h.
| SparseCholeskyDecompPtr mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::ptrCh |
Cholesky object, as a pointer to reuse it between iterations.
Definition at line 234 of file lev-marq_solvers.h.
| SchurComplement< typename hessian_traits_t::TSparseBlocksHessian_Ap, typename hessian_traits_t::TSparseBlocksHessian_f, typename hessian_traits_t::TSparseBlocksHessian_Apf > mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::schur_compl |
Definition at line 241 of file lev-marq_solvers.h.
| mrpt::math::CSparseMatrix* mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::sS |
Sparse Hessian.
Definition at line 231 of file lev-marq_solvers.h.
| bool mrpt::srba::internal::solver_engine< true, false, RBA_ENGINE >::sS_is_valid |
Whether the Hessian was filled in, in sS.
Definition at line 232 of file lev-marq_solvers.h.
| Page generated by Doxygen 1.8.9.1 for MRPT 1.3.0 SVN: at Sun Sep 13 03:55:12 UTC 2015 |