62 template <
typename CONTAINER>
64 std::optional<double> beta = {});
73 size_t dim()
const override {
return d_; }
T FindKarcherMean(const std::vector< T > &rotations)
std::shared_ptr< GaussianFactor > linearize(const Values &c) const override
linearize to a GaussianFactor
KarcherMeanFactor(const CONTAINER &keys, int d=D, std::optional< double > beta={})
STL compatible allocator to use with types requiring a non standrad alignment.
size_t dim() const override
get the dimension of the factor (number of rows on linearization)
~KarcherMeanFactor() override
Destructor.
const KeyVector & keys() const
Access the factor's involved variable keys.
std::shared_ptr< JacobianFactor > whitenedJacobian_
Constant Jacobian made of d*d identity matrices.
double error(const Values &c) const override
Calculate the error of the factor: always zero.