34 typedef std::shared_ptr<ConcurrentIncrementalFilter>
shared_ptr;
54 Result() : iterations(0), nonlinearVariables(0), linearVariables(0), error(0) {}
77 return isam2_.getFactorsUnsafe();
87 return isam2_.getLinearizationPoint();
92 return isam2_.getDelta();
99 return isam2_.calculateEstimate();
107 template<
class VALUE>
109 return isam2_.calculateEstimate<
VALUE>(
key);
127 const std::optional< FactorIndices >& removeFactorIndices = {});
133 void presync()
override;
165 void postsync()
override;
void print(const Matrix &A, const string &s, ostream &stream)
const gtsam::Symbol key('X', 0)
const VectorValues & getDelta() const
std::shared_ptr< ConcurrentIncrementalFilter > shared_ptr
size_t nonlinearVariables
The number of variables that can be relinearized.
ConcurrentIncrementalFilter::Result ConcurrentIncrementalFilterResult
Typedef for Matlab wrapping.
size_t variablesRelinearized
FactorIndices newFactorsIndices
ISAM2 isam2_
The iSAM2 inference engine.
static const KeyFormatter DefaultKeyFormatter
VALUE calculateEstimate(Key key) const
NonlinearFactorGraph previousSmootherSummarization_
The smoother summarization on the old separator sent by the smoother during the last synchronization...
double error
The final factor graph error.
FastVector< FactorIndex > FactorIndices
Define collection types:
std::shared_ptr< This > shared_ptr
const ISAM2 & getISAM2() const
~ConcurrentIncrementalFilter() override
ConcurrentFilter Base
typedef for base class
ConcurrentIncrementalFilter(const ISAM2Params ¶meters=ISAM2Params())
const NonlinearFactorGraph & getFactors() const
Incremental update functionality (ISAM2) for BayesTree, with fluid relinearization.
Array< double, 1, 3 > e(1./3., 0.5, 2.)
const Values & getLinearizationPoint() const
Values calculateEstimate() const
std::function< std::string(Key)> KeyFormatter
Typedef for a function to format a key, i.e. to convert it to a string.
size_t iterations
The number of optimizer iterations performed.
static ConjugateGradientParameters parameters
std::vector< float > Values
void synchronize(ConcurrentFilter &filter, ConcurrentSmoother &smoother)
FactorIndices currentSmootherSummarizationSlots_
The slots in factor graph that correspond to the current smoother summarization on the current separa...
size_t getNonlinearVariables() const
size_t linearVariables
The number of variables that must keep a constant linearization point.
size_t getLinearVariables() const
size_t variablesReeliminated
size_t getIterations() const
Getter methods.
NonlinearFactorGraph smootherShortcut_
A set of conditional factors from the old separator to the current separator (recursively calculated ...
Base classes for the 'filter' and 'smoother' portion of the Concurrent Filtering and Smoothing archit...
Values smootherValues_
A temporary holding place for the linearization points of all keys being sent to the smoother...
std::uint64_t Key
Integer nonlinear key type.
NonlinearFactorGraph smootherFactors_
A temporary holding place for the set of full nonlinear factors being sent to the smoother...