156 const std::optional<FastList<Key> >& noRelinKeys = {},
157 const std::optional<FastList<Key> >& extraReelimKeys = {},
158 bool force_relinearize =
false);
199 void marginalizeLeaves(
208 template <
class... OptArgs>
210 OptArgs&&... optArgs) {
213 marginalizeLeaves(leafKeys, (&optArgs)...);
227 Values calculateEstimate()
const;
235 template <
class VALUE>
252 Matrix marginalCovariance(
Key key)
const;
260 Values calculateBestEstimate()
const;
270 return nonlinearFactors_;
282 void printStats()
const { getCliqueData().getStats().print(); }
332 void addVariables(
const Values& newTheta,
338 void removeVariables(
const KeySet& unusedKeys);
340 void updateDelta(
bool forceFullSolve =
false)
const;
343 #ifdef GTSAM_ENABLE_BOOST_SERIALIZATION 345 friend class boost::serialization::access;
346 template<
class ARCHIVE>
347 void serialize(ARCHIVE & ar,
const unsigned int ) {
348 ar & boost::serialization::base_object<BayesTree<ISAM2Clique> >(*this);
349 ar & BOOST_SERIALIZATION_NVP(theta_);
350 ar & BOOST_SERIALIZATION_NVP(variableIndex_);
351 ar & BOOST_SERIALIZATION_NVP(delta_);
352 ar & BOOST_SERIALIZATION_NVP(deltaNewton_);
353 ar & BOOST_SERIALIZATION_NVP(RgProd_);
354 ar & BOOST_SERIALIZATION_NVP(deltaReplacedMask_);
355 ar & BOOST_SERIALIZATION_NVP(nonlinearFactors_);
356 ar & BOOST_SERIALIZATION_NVP(linearFactors_);
357 ar & BOOST_SERIALIZATION_NVP(doglegDelta_);
358 ar & BOOST_SERIALIZATION_NVP(fixedVariables_);
359 ar & BOOST_SERIALIZATION_NVP(update_count_);
const gtsam::Symbol key('X', 0)
void marginalizeLeaves(const FastList< Key > &leafKeys, OptArgs &&... optArgs)
VALUE calculateEstimate(Key key) const
Factor Graph consisting of non-linear factors.
std::string serialize(const T &input)
serializes to a string
const ValueType at(Key j) const
Specialized iSAM2 Clique.
bool valueExists(Key key) const
Check whether variable with given key exists in linearization point.
VariableIndex variableIndex_
std::optional< double > doglegDelta_
std::shared_ptr< Clique > sharedClique
Shared pointer to a clique.
const Values & getLinearizationPoint() const
Access the current linearization point.
static const SmartProjectionParams params
FastVector< FactorIndex > FactorIndices
Define collection types:
const NonlinearFactorGraph & getFactorsUnsafe() const
NonlinearFactorGraph nonlinearFactors_
Class that stores detailed iSAM2 result.
GaussianFactorGraph linearFactors_
Array< double, 1, 3 > e(1./3., 0.5, 2.)
Base::sharedClique sharedClique
Shared pointer to a clique.
KeySet deltaReplacedMask_
std::vector< float > Values
const KeySet & getFixedVariables() const
Class that stores extra params for ISAM2::update()
const VariableIndex & getVariableIndex() const
VectorValues deltaNewton_
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Gaussian Bayes Tree, the result of eliminating a GaussianJunctionTree.
std::uint64_t Key
Integer nonlinear key type.
const ISAM2Params & params() const