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.
|
| |