![]() |
NDEVR
API Documentation
|
Base for solvers operating on the approximated Hessian, e.g., Gauss-Newton, Levenberg. More...
Public Member Functions | |
| OptimizationAlgorithmWithHessian () | |
| Default constructor. | |
| void | addEdge (HyperGraph::HGEdge *e) |
| Adds an edge to the optimizer. | |
| void | addVertex (HyperGraph::HGVertex &v) |
| Adds a vertex to the optimizer. | |
| bool | buildLinearStructure (IndexScratch &scratch) |
| Builds the linear system structure. | |
| void | clear () |
| Clears the solver state. | |
| bool | init (bool online=false) |
| Initializes the solver, detecting whether Schur complement should be used. | |
| SparseOptimizer & | optimizer () |
| Returns a mutable reference to the underlying sparse optimizer. | |
| const SparseOptimizer & | optimizer () const |
| Returns a const reference to the underlying sparse optimizer. | |
| void | updateLinearSystem () |
| Rebuilds the linear system (Hessian and gradient) from the current graph state. | |
| bool | updateStructure (const Buffer< HyperGraph::HGVertex * > &vset, const Set< HyperGraph::HGVertex * > &edges) |
| Updates the linear system structure after graph topology changes. | |
Public Attributes | |
| t_solver | solver |
| The underlying solver instance. | |
Additional Inherited Members | |
| Public Types inherited from OptimizationAlgorithm | |
| enum | SolverResult { Terminate =2 , OK =1 , Fail =-1 } |
| Result codes returned by the solver after each iteration. More... | |
Base for solvers operating on the approximated Hessian, e.g., Gauss-Newton, Levenberg.
Definition at line 14 of file optimization_algorithm_with_hessian.h.
|
inline |
Adds an edge to the optimizer.
| [in] | e | The edge to add. |
Definition at line 36 of file optimization_algorithm_with_hessian.h.
References solver.
|
inline |
Adds a vertex to the optimizer.
| [in] | v | The vertex to add. |
Definition at line 30 of file optimization_algorithm_with_hessian.h.
References solver.
|
inline |
Builds the linear system structure.
| [in] | scratch | Scratch buffers for pose and landmark indices. |
Definition at line 82 of file optimization_algorithm_with_hessian.h.
References solver.
|
inline |
Initializes the solver, detecting whether Schur complement should be used.
| [in] | online | Whether this is an online (incremental) optimization. |
Definition at line 53 of file optimization_algorithm_with_hessian.h.
References optimizer(), and solver.
Referenced by OptimizationAlgorithmGaussNewton< t_type >::optimize(), and OptimizationAlgorithmLevenberg< t_type >::optimize().
|
inline |
Updates the linear system structure after graph topology changes.
| [in] | vset | The updated vertex set. |
| [in] | edges | The updated edge set. |
Definition at line 97 of file optimization_algorithm_with_hessian.h.
References solver.