Template Function manif::average_biinvariant

Function Documentation

template<template<typename LieGroup, typename ...Args> class Container, typename LieGroup, typename ...Args>
LieGroup manif::average_biinvariant(const Container<LieGroup, Args...> &points, typename LieGroup::Scalar eps = Constants<typename LieGroup::Scalar>::eps, int max_iterations = 20)

Compute an average point on Lie groups given a list of ‘close’ points.

Note

see (a) “Bi-invariant Means in Lie Groups.

Application to Left-in variant Polyaffine Transformations” p. 21 Sec. 4.2

see also (b) “A globally convergent numerical algorithm for computing the center of

Parameters:
  • points[in] A list of ‘close’ points to compute an average point from.

  • eps, update[in] norm threshold to break the iterative averaging.

  • max_iterations, max[in] number of iterations.

Returns:

The average point of the input points.