#include <graph_optimizer_chol.h>
Classes | |
class | CholEdge |
Public Member Functions | |
virtual PG::Edge * | addEdge (typename PG::Vertex *from, typename PG::Vertex *to, const typename PG::TransformationType &mean, const typename PG::InformationType &information) |
virtual PG::Edge * | addEdge (typename PG::Vertex *from, typename PG::Vertex *to, const typename PG::TransformationType &mean, const typename PG::InformationType &information) |
CholOptimizer () | |
CholOptimizer () | |
virtual bool | initialize (int rootNode=-1) |
virtual bool | initialize (int rootNode=-1) |
virtual int | optimize (int iterations, bool online=false) |
virtual int | optimize (int iterations, bool online=false) |
int | optimizeSubset (typename PG::Vertex *rootVertex, Graph::VertexSet &vset, int iterations, double lambda, bool initFromObservations, int otherNode=-1, typename PG::InformationType *otherCovariance=0) |
int | optimizeSubset (typename PG::Vertex *rootVertex, Graph::VertexSet &vset, int iterations, double lambda, bool initFromObservations, int otherNode=-1, typename PG::InformationType *otherCovariance=0) |
bool & | useManifold () |
bool & | useManifold () |
virtual | ~CholOptimizer () |
virtual | ~CholOptimizer () |
Protected Member Functions | |
bool | buildIndexMapping (typename PG::Vertex *rootVertex, Graph::VertexSet &vset) |
bool | buildIndexMapping (typename PG::Vertex *rootVertex, Graph::VertexSet &vset) |
void | buildLinearSystem (typename PG::Vertex *rootVertex, double lambda) |
void | buildLinearSystem (typename PG::Vertex *rootVertex, double lambda) |
void | clearIndexMapping () |
void | clearIndexMapping () |
virtual void | computeActiveEdges (typename PG::Vertex *rootVertex, Graph::VertexSet &vset) |
virtual void | computeActiveEdges (typename PG::Vertex *rootVertex, Graph::VertexSet &vset) |
double | globalFrameChi2 () const |
double | globalFrameChi2 () const |
void | initializeActiveSubsetWithObservations (typename PG::Vertex *rootVertex, double maxDistance=std::numeric_limits< double >::max()/2) |
void | initializeActiveSubsetWithObservations (typename PG::Vertex *rootVertex, double maxDistance=std::numeric_limits< double >::max()/2) |
int | linearizeConstraint (const typename PG::Edge *e, double lambda) |
int | linearizeConstraint (const typename PG::Edge *e, double lambda) |
void | restoreVertices () |
void | restoreVertices () |
void | solveAndUpdate (double **block=0, int r1=-1, int c1=-1, int r2=-1, int c2=-1) |
void | solveAndUpdate (double **block=0, int r1=-1, int c1=-1, int r2=-1, int c2=-1) |
void | storeVertices () |
void | storeVertices () |
void | transformSubset (typename PG::Vertex *rootVertex, Graph::VertexSet &vset, const typename PG::TransformationType &newRootPose) |
void | transformSubset (typename PG::Vertex *rootVertex, Graph::VertexSet &vset, const typename PG::TransformationType &newRootPose) |
Protected Attributes | |
std::set< typename PG::Edge * > | _activeEdges |
int | _addDuplicateEdgeIterations |
int * | _csIntWorkspace |
double * | _csInvWorkB |
int | _csInvWorkspaceSize |
double * | _csInvWorkTemp |
double * | _csWorkspace |
int | _csWorkspaceSize |
std::vector< typename PG::Vertex * > | _ivMap |
int | _nBlocks |
int | _rootNode |
double * | _sparseB |
int | _sparseDim |
int | _sparseDimMax |
SparseMatrixEntry * | _sparseMatrix |
SparseMatrixEntry ** | _sparseMatrixPtr |
used to avoid multiple sorting | |
int | _sparseNz |
int | _sparseNzMax |
css * | _symbolicCholesky |
bool | _useRelativeError |
Friends | |
struct | ActivePathUniformCostFunction< PG > |
Definition at line 41 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
AISNavigation::CholOptimizer< PG >::CholOptimizer | ( | ) |
Definition at line 158 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
AISNavigation::CholOptimizer< PG >::~CholOptimizer< PG > | ( | ) | [virtual] |
Definition at line 62 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
AISNavigation::CholOptimizer< PG >::CholOptimizer | ( | ) |
virtual AISNavigation::CholOptimizer< PG >::~CholOptimizer | ( | ) | [virtual] |
PG::Edge * AISNavigation::CholOptimizer< PG >::addEdge | ( | typename PG::Vertex * | from, |
typename PG::Vertex * | to, | ||
const typename PG::TransformationType & | mean, | ||
const typename PG::InformationType & | information | ||
) | [virtual] |
Reimplemented in AISNavigation::HCholOptimizer< PG >, and AISNavigation::HCholOptimizer< PG >.
Definition at line 272 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
virtual PG::Edge* AISNavigation::CholOptimizer< PG >::addEdge | ( | typename PG::Vertex * | from, |
typename PG::Vertex * | to, | ||
const typename PG::TransformationType & | mean, | ||
const typename PG::InformationType & | information | ||
) | [virtual] |
Reimplemented in AISNavigation::HCholOptimizer< PG >, and AISNavigation::HCholOptimizer< PG >.
bool AISNavigation::CholOptimizer< PG >::buildIndexMapping | ( | typename PG::Vertex * | rootVertex, |
Graph::VertexSet & | vset | ||
) | [protected] |
bool AISNavigation::CholOptimizer< PG >::buildIndexMapping | ( | typename PG::Vertex * | rootVertex, |
Graph::VertexSet & | vset | ||
) | [protected] |
Definition at line 180 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
void AISNavigation::CholOptimizer< PG >::buildLinearSystem | ( | typename PG::Vertex * | rootVertex, |
double | lambda | ||
) | [protected] |
Definition at line 358 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
void AISNavigation::CholOptimizer< PG >::buildLinearSystem | ( | typename PG::Vertex * | rootVertex, |
double | lambda | ||
) | [protected] |
void AISNavigation::CholOptimizer< PG >::clearIndexMapping | ( | ) | [protected] |
void AISNavigation::CholOptimizer< PG >::clearIndexMapping | ( | ) | [protected] |
Definition at line 196 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
void AISNavigation::CholOptimizer< PG >::computeActiveEdges | ( | typename PG::Vertex * | rootVertex, |
Graph::VertexSet & | vset | ||
) | [protected, virtual] |
Definition at line 204 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
virtual void AISNavigation::CholOptimizer< PG >::computeActiveEdges | ( | typename PG::Vertex * | rootVertex, |
Graph::VertexSet & | vset | ||
) | [protected, virtual] |
double AISNavigation::CholOptimizer< PG >::globalFrameChi2 | ( | ) | const [protected] |
double AISNavigation::CholOptimizer< PG >::globalFrameChi2 | ( | ) | const [protected] |
bool AISNavigation::CholOptimizer< PG >::initialize | ( | int | rootNode = -1 | ) | [virtual] |
Implements AISNavigation::GraphOptimizer< PG >.
Definition at line 31 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
virtual bool AISNavigation::CholOptimizer< PG >::initialize | ( | int | rootNode = -1 | ) | [virtual] |
Implements AISNavigation::GraphOptimizer< PG >.
void AISNavigation::CholOptimizer< PG >::initializeActiveSubsetWithObservations | ( | typename PG::Vertex * | rootVertex, |
double | maxDistance = std::numeric_limits< double >::max()/2 |
||
) | [protected] |
void AISNavigation::CholOptimizer< PG >::initializeActiveSubsetWithObservations | ( | typename PG::Vertex * | rootVertex, |
double | maxDistance = std::numeric_limits<double>::max()/2 |
||
) | [protected] |
Definition at line 566 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
int AISNavigation::CholOptimizer< PG >::linearizeConstraint | ( | const typename PG::Edge * | e, |
double | lambda | ||
) | [protected] |
Definition at line 221 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
int AISNavigation::CholOptimizer< PG >::linearizeConstraint | ( | const typename PG::Edge * | e, |
double | lambda | ||
) | [protected] |
virtual int AISNavigation::CholOptimizer< PG >::optimize | ( | int | iterations, |
bool | online = false |
||
) | [virtual] |
Implements AISNavigation::GraphOptimizer< PG >.
Reimplemented in AISNavigation::HCholOptimizer< PG >, and AISNavigation::HCholOptimizer< PG >.
int AISNavigation::CholOptimizer< PG >::optimize | ( | int | iterations, |
bool | online = false |
||
) | [virtual] |
Implements AISNavigation::GraphOptimizer< PG >.
Reimplemented in AISNavigation::HCholOptimizer< PG >, and AISNavigation::HCholOptimizer< PG >.
Definition at line 45 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
int AISNavigation::CholOptimizer< PG >::optimizeSubset | ( | typename PG::Vertex * | rootVertex, |
Graph::VertexSet & | vset, | ||
int | iterations, | ||
double | lambda, | ||
bool | initFromObservations, | ||
int | otherNode = -1 , |
||
typename PG::InformationType * | otherCovariance = 0 |
||
) |
int AISNavigation::CholOptimizer< PG >::optimizeSubset | ( | typename PG::Vertex * | rootVertex, |
Graph::VertexSet & | vset, | ||
int | iterations, | ||
double | lambda, | ||
bool | initFromObservations, | ||
int | otherNode = -1 , |
||
typename PG::InformationType * | otherCovariance = 0 |
||
) |
Definition at line 76 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
void AISNavigation::CholOptimizer< PG >::restoreVertices | ( | ) | [protected] |
void AISNavigation::CholOptimizer< PG >::restoreVertices | ( | ) | [protected] |
Definition at line 599 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
void AISNavigation::CholOptimizer< PG >::solveAndUpdate | ( | double ** | block = 0 , |
int | r1 = -1 , |
||
int | c1 = -1 , |
||
int | r2 = -1 , |
||
int | c2 = -1 |
||
) | [protected] |
void AISNavigation::CholOptimizer< PG >::solveAndUpdate | ( | double ** | block = 0 , |
int | r1 = -1 , |
||
int | c1 = -1 , |
||
int | r2 = -1 , |
||
int | c2 = -1 |
||
) | [protected] |
Definition at line 470 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
void AISNavigation::CholOptimizer< PG >::storeVertices | ( | ) | [protected] |
Definition at line 590 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
void AISNavigation::CholOptimizer< PG >::storeVertices | ( | ) | [protected] |
void AISNavigation::CholOptimizer< PG >::transformSubset | ( | typename PG::Vertex * | rootVertex, |
Graph::VertexSet & | vset, | ||
const typename PG::TransformationType & | newRootPose | ||
) | [protected] |
Definition at line 532 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.hpp.
void AISNavigation::CholOptimizer< PG >::transformSubset | ( | typename PG::Vertex * | rootVertex, |
Graph::VertexSet & | vset, | ||
const typename PG::TransformationType & | newRootPose | ||
) | [protected] |
bool& AISNavigation::CholOptimizer< PG >::useManifold | ( | ) | [inline] |
Definition at line 65 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
bool& AISNavigation::CholOptimizer< PG >::useManifold | ( | ) | [inline] |
Definition at line 65 of file src/graph_optimizer_hogman/graph_optimizer_chol.h.
friend struct ActivePathUniformCostFunction< PG > [friend] |
Definition at line 54 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
std::set< typename PG::Edge * > AISNavigation::CholOptimizer< PG >::_activeEdges [protected] |
Definition at line 91 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int AISNavigation::CholOptimizer< PG >::_addDuplicateEdgeIterations [protected] |
Definition at line 97 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int * AISNavigation::CholOptimizer< PG >::_csIntWorkspace [protected] |
Definition at line 113 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
double * AISNavigation::CholOptimizer< PG >::_csInvWorkB [protected] |
Definition at line 116 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int AISNavigation::CholOptimizer< PG >::_csInvWorkspaceSize [protected] |
Definition at line 115 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
double * AISNavigation::CholOptimizer< PG >::_csInvWorkTemp [protected] |
Definition at line 117 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
double * AISNavigation::CholOptimizer< PG >::_csWorkspace [protected] |
Definition at line 112 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int AISNavigation::CholOptimizer< PG >::_csWorkspaceSize [protected] |
Definition at line 111 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
std::vector< typename PG::Vertex * > AISNavigation::CholOptimizer< PG >::_ivMap [protected] |
Definition at line 90 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int AISNavigation::CholOptimizer< PG >::_nBlocks [protected] |
Definition at line 103 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int AISNavigation::CholOptimizer< PG >::_rootNode [protected] |
Definition at line 89 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
double * AISNavigation::CholOptimizer< PG >::_sparseB [protected] |
Definition at line 102 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int AISNavigation::CholOptimizer< PG >::_sparseDim [protected] |
Definition at line 104 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int AISNavigation::CholOptimizer< PG >::_sparseDimMax [protected] |
Definition at line 105 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
SparseMatrixEntry * AISNavigation::CholOptimizer< PG >::_sparseMatrix [protected] |
Definition at line 100 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
SparseMatrixEntry ** AISNavigation::CholOptimizer< PG >::_sparseMatrixPtr [protected] |
used to avoid multiple sorting
Definition at line 101 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int AISNavigation::CholOptimizer< PG >::_sparseNz [protected] |
Definition at line 106 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
int AISNavigation::CholOptimizer< PG >::_sparseNzMax [protected] |
Definition at line 107 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
css * AISNavigation::CholOptimizer< PG >::_symbolicCholesky [protected] |
Definition at line 109 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.
bool AISNavigation::CholOptimizer< PG >::_useRelativeError [protected] |
Definition at line 118 of file include/hogman_minimal/graph_optimizer_hogman/graph_optimizer_chol.h.