gtsam
Loading...
Searching...
No Matches
gtsam::FastSync< T > Struct Template Reference

Detailed Description

template<class T>
struct gtsam::FastSync< T >

Solver for the fixed-size ambient linear problem underlying FAST-Sync.

The constructor extracts matching BetweenFactor or FrobeniusBetweenFactor measurements and builds the reduced Gaussian graph. solve() performs the ordered Cholesky solve and returns ambient matrix estimates; projectAndAlign() rounds those estimates to T and applies an optional matching PriorFactor or FrobeniusPrior.

Public Member Functions

 FastSync (const NonlinearFactorGraph &graph)
 Extract matching factors, validate their noise models, and build the reduced Gaussian graph.
Values solve (Ordering::OrderingType orderingType=Ordering::METIS) const
 Solve the relaxed ambient matrix problem and return one matrix per key.
Values solve (const Ordering &ordering) const
 Solve using a caller-supplied complete ordering.
Values projectAndAlign (const Values &relaxed) const
 Project relaxed matrices to T and align them to the optional matching prior stored by the constructor.

Static Public Attributes

static constexpr int N = LieAlgebra::RowsAtCompileTime

Public Types

using LieAlgebra = typename T::LieAlgebra
using MatrixN = Eigen::Matrix<double, N, N>
using VectorN = Eigen::Matrix<double, N, 1>

Constructor & Destructor Documentation

◆ FastSync()

template<class T>
gtsam::FastSync< T >::FastSync ( const NonlinearFactorGraph & graph)
explicit

Extract matching factors, validate their noise models, and build the reduced Gaussian graph.

Factors for other types are ignored.

Member Function Documentation

◆ projectAndAlign()

template<class T>
Values gtsam::FastSync< T >::projectAndAlign ( const Values & relaxed) const

Project relaxed matrices to T and align them to the optional matching prior stored by the constructor.

The alignment is a single common left transformation, so all relative estimates are preserved. The input must be the complete result of solve().

◆ solve() [1/2]

template<class T>
Values gtsam::FastSync< T >::solve ( const Ordering & ordering) const

Solve using a caller-supplied complete ordering.

The ordering must contain every measurement-graph key exactly once. Its final key is used as the identity gauge.

Parameters
orderingComplete variable elimination ordering.

◆ solve() [2/2]

template<class T>
Values gtsam::FastSync< T >::solve ( Ordering::OrderingType orderingType = Ordering::METIS) const

Solve the relaxed ambient matrix problem and return one matrix per key.

The selected ordering's final key is used as the identity gauge. Cholesky elimination and reverse block back-substitution then recover all ambient N-by-N estimates. Projection to T is intentionally deferred to projectAndAlign().

Parameters
orderingTypeFill-reducing ordering, defaulting to METIS.

The documentation for this struct was generated from the following files:
  • /tmp/gtsam-4.3.0-doxygen.rsXPUS/source/gtsam/slam/FastSync.h
  • /tmp/gtsam-4.3.0-doxygen.rsXPUS/source/gtsam/slam/FastSync-inl.h