117 virtual bool equals(
const ISAM2& other,
double tol = 1e-9)
const;
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>
237 const Vector& delta = getDelta()[key];
249 const Value& calculateEstimate(
Key key)
const;
252 Matrix marginalCovariance(
Key key)
const;
260 Values calculateBestEstimate()
const;
270 return nonlinearFactors_;
279 const ISAM2Params& params()
const {
return params_; }
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_);
void marginalizeLeaves(const FastList< Key > &leafKeys, OptArgs &&... optArgs)
Definition: ISAM2.h:209
VALUE calculateEstimate(Key key) const
Definition: ISAM2.h:236
Definition: ISAM2Params.h:136
Factor Graph consisting of non-linear factors.
std::string serialize(const T &input)
serializes to a string
Definition: serialization.h:113
const ValueType at(Key j) const
Definition: Values-inl.h:204
Definition: Testable.h:152
Specialized iSAM2 Clique.
bool valueExists(Key key) const
Check whether variable with given key exists in linearization point.
Definition: ISAM2.h:220
FastVector< FactorIndex > FactorIndices
Define collection types:
Definition: Factor.h:36
VariableIndex variableIndex_
Definition: ISAM2.h:52
std::optional< double > doglegDelta_
Definition: ISAM2.h:90
Definition: VectorValues.h:74
ISAM2Params params_
Definition: ISAM2.h:87
std::shared_ptr< Clique > sharedClique
Shared pointer to a clique.
Definition: BayesTree.h:74
const Values & getLinearizationPoint() const
Access the current linearization point.
Definition: ISAM2.h:217
KeySet fixedVariables_
Definition: ISAM2.h:94
const NonlinearFactorGraph & getFactorsUnsafe() const
Definition: ISAM2.h:269
Definition: BayesTree.h:66
Definition: Testable.h:112
NonlinearFactorGraph nonlinearFactors_
Definition: ISAM2.h:81
void printStats() const
Definition: ISAM2.h:282
Class that stores detailed iSAM2 result.
virtual ~ISAM2()
Definition: ISAM2.h:114
GaussianFactorGraph linearFactors_
Definition: ISAM2.h:84
Values theta_
Definition: ISAM2.h:48
Base::sharedClique sharedClique
Shared pointer to a clique.
Definition: ISAM2.h:103
int update_count_
Definition: ISAM2.h:96
Definition: NonlinearFactorGraph.h:55
KeySet deltaReplacedMask_
Definition: ISAM2.h:76
Definition: FastList.h:43
Definition: chartTesting.h:28
const KeySet & getFixedVariables() const
Definition: ISAM2.h:277
Definition: VariableIndex.h:41
Class that stores extra params for ISAM2::update()
VectorValues delta_
Definition: ISAM2.h:61
const VariableIndex & getVariableIndex() const
Definition: ISAM2.h:274
Definition: ISAM2Result.h:115
Definition: ISAM2Clique.h:36
Definition: ISAM2UpdateParams.h:32
Gaussian Bayes Tree, the result of eliminating a GaussianJunctionTree.
std::uint64_t Key
Integer nonlinear key type.
Definition: types.h:102
Definition: GaussianFactorGraph.h:73
Definition: ISAM2Result.h:39