A Levenberg-Marquardt Batch Smoother that implements the Concurrent Filtering and Smoother interface.
|
| ConcurrentBatchSmoother (const LevenbergMarquardtParams ¶meters=LevenbergMarquardtParams()) |
| Default constructor.
|
|
| ~ConcurrentBatchSmoother () override |
| Default destructor.
|
|
void | print (const std::string &s="Concurrent Batch Smoother:\n", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override |
| Implement a GTSAM standard 'print' function. More...
|
|
bool | equals (const ConcurrentSmoother &rhs, double tol=1e-9) const override |
| Check if two Concurrent Smoothers are equal. More...
|
|
const NonlinearFactorGraph & | getFactors () const |
| Access the current set of factors.
|
|
const Values & | getLinearizationPoint () const |
| Access the current linearization point.
|
|
const Ordering & | getOrdering () const |
| Access the current ordering.
|
|
const VectorValues & | getDelta () const |
| Access the current set of deltas to the linearization point.
|
|
Values | calculateEstimate () const |
| Compute the current best estimate of all variables and return a full Values structure. More...
|
|
template<class VALUE > |
VALUE | calculateEstimate (Key key) const |
| Compute the current best estimate of a single variable. More...
|
|
virtual Result | update (const NonlinearFactorGraph &newFactors=NonlinearFactorGraph(), const Values &newTheta=Values(), const boost::optional< std::vector< size_t > > &removeFactorIndices=boost::none) |
| Add new factors and variables to the smoother. More...
|
|
void | presync () override |
| Perform any required operations before the synchronization process starts. More...
|
|
void | getSummarizedFactors (NonlinearFactorGraph &summarizedFactors, Values &separatorValues) override |
| Populate the provided containers with factors that constitute the smoother branch summarization needed by the filter. More...
|
|
void | synchronize (const NonlinearFactorGraph &smootherFactors, const Values &smootherValues, const NonlinearFactorGraph &summarizedFactors, const Values &separatorValues) override |
| Apply the new smoother factors sent by the filter, and the updated version of the filter branch summarized factors. More...
|
|
void | postsync () override |
| Perform any required operations after the synchronization process finishes. More...
|
|
| ConcurrentSmoother () |
| Default constructor.
|
|
virtual | ~ConcurrentSmoother () |
| Default destructor.
|
|
virtual void | print (const std::string &s="Concurrent Smoother:\n", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const =0 |
| Implement a standard 'print' function. More...
|
|
virtual bool | equals (const ConcurrentSmoother &rhs, double tol=1e-9) const =0 |
| Check if two Concurrent Smoothers are equal. More...
|
|
virtual void | presync () |
| Perform any required operations before the synchronization process starts. More...
|
|
virtual void | getSummarizedFactors (NonlinearFactorGraph &summarizedFactors, Values &separatorValues)=0 |
| Populate the provided containers with factors that constitute the smoother branch summarization needed by the filter. More...
|
|
virtual void | synchronize (const NonlinearFactorGraph &smootherFactors, const Values &smootherValues, const NonlinearFactorGraph &summarizedFactors, const Values &rootValues)=0 |
| Apply the new smoother factors sent by the filter, and the updated version of the filter branch summarized factors. More...
|
|
virtual void | postsync () |
| Perform any required operations after the synchronization process finishes. More...
|
|
|
LevenbergMarquardtParams | parameters_ |
| LM parameters.
|
|
NonlinearFactorGraph | factors_ |
| The set of all factors currently in the smoother.
|
|
Values | theta_ |
| Current linearization point of all variables in the smoother.
|
|
Ordering | ordering_ |
| The current ordering used to calculate the linear deltas.
|
|
VectorValues | delta_ |
| The current set of linear deltas from the linearization point.
|
|
VariableIndex | variableIndex_ |
| The current variable index, which allows efficient factor lookup by variable.
|
|
std::queue< size_t > | availableSlots_ |
| The set of available factor graph slots caused by deleting factors.
|
|
Values | separatorValues_ |
| The linearization points of the separator variables. These should not be updated during optimization.
|
|
std::vector< size_t > | filterSummarizationSlots_ |
| The slots in factor graph that correspond to the current filter summarization factors.
|
|
NonlinearFactorGraph | smootherSummarization_ |
| A temporary holding place for calculated smoother summarization.
|
|