Renamed experimentalMarginalizeLeaves to marginalizeLeaves and added comment
parent
dc29424633
commit
f773a34834
|
@ -786,7 +786,7 @@ ISAM2Result ISAM2::update(
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
void ISAM2::experimentalMarginalizeLeaves(const FastList<Key>& leafKeys)
|
void ISAM2::marginalizeLeaves(const FastList<Key>& leafKeys)
|
||||||
{
|
{
|
||||||
// Convert set of keys into a set of indices
|
// Convert set of keys into a set of indices
|
||||||
FastSet<Index> indices;
|
FastSet<Index> indices;
|
||||||
|
|
|
@ -549,7 +549,15 @@ public:
|
||||||
const boost::optional<FastList<Key> >& noRelinKeys = boost::none,
|
const boost::optional<FastList<Key> >& noRelinKeys = boost::none,
|
||||||
bool force_relinearize = false);
|
bool force_relinearize = false);
|
||||||
|
|
||||||
GTSAM_EXPORT void experimentalMarginalizeLeaves(const FastList<Key>& leafKeys);
|
/** Marginalize out variables listed in leafKeys. These keys must be leaves
|
||||||
|
* in the BayesTree. Throws MarginalizeNonleafException if non-leaves are
|
||||||
|
* requested to be marginalized. Marginalization leaves a linear
|
||||||
|
* approximation of the marginal in the system, and the linearization points
|
||||||
|
* of any variables involved in this linear marginal become fixed. The set
|
||||||
|
* fixed variables will include any involved with the marginalized variables
|
||||||
|
* in the original factors, and possibly additional ones due to fill-in.
|
||||||
|
*/
|
||||||
|
GTSAM_EXPORT void marginalizeLeaves(const FastList<Key>& leafKeys);
|
||||||
|
|
||||||
/** Access the current linearization point */
|
/** Access the current linearization point */
|
||||||
const Values& getLinearizationPoint() const { return theta_; }
|
const Values& getLinearizationPoint() const { return theta_; }
|
||||||
|
|
|
@ -88,7 +88,7 @@ bool checkMarginalizeLeaves(ISAM2& isam, const FastList<Key>& leafKeys) {
|
||||||
|
|
||||||
// Do marginalization
|
// Do marginalization
|
||||||
|
|
||||||
isam.experimentalMarginalizeLeaves(leafKeys);
|
isam.marginalizeLeaves(leafKeys);
|
||||||
|
|
||||||
// Check
|
// Check
|
||||||
|
|
||||||
|
|
|
@ -860,7 +860,7 @@ namespace {
|
||||||
expected3AugmentedHessian = solver3.jointFactorGraph(toKeep)->augmentedHessian();
|
expected3AugmentedHessian = solver3.jointFactorGraph(toKeep)->augmentedHessian();
|
||||||
|
|
||||||
// Do marginalization
|
// Do marginalization
|
||||||
isam.experimentalMarginalizeLeaves(leafKeys);
|
isam.marginalizeLeaves(leafKeys);
|
||||||
|
|
||||||
// Check
|
// Check
|
||||||
GaussianFactorGraph actualMarginalGraph(isam);
|
GaussianFactorGraph actualMarginalGraph(isam);
|
||||||
|
|
Loading…
Reference in New Issue