Hello,
I come from a robotics background, and I recently heard about ManOpt. In robotics applications, we are often concerned with solving optimization problems where the goal is to determine the optimal 3D rotation (element of SO(3)) or rigid transformation (element of SE(3)) according to some cost function. In other cases, we want to optimize for several rotations or rigid transformations. These types of optimization problems come up often in calibration, mapping, tracking, bundle adjustment, etc.
One relatively common approach in the robotics literature is from the paper "Integrating Generic Sensor Fusion Algorithms with Sound State Representations through Encapsulation of Manifolds".
https://arxiv.org/abs/1107.1119
The core idea is that one must define a "boxplus" and "boxminus" operator for a particular manifold. These operators establish a mapping from the manifold in the optimization problem to R^N. One benefit of this approach is that you can adapt common algorithms for things like like nonlinear least squares to work on manifolds with very little thought/code.
How does ManOpt compare to this approach in general? When adding a new manifold to the ManOpt, it seems that ManOpt requires far more than just "boxplus" and "boxminus" - what benefit does this yield on a practical level? Sorry for this naive question - I am far from an expert in this area and I'm still reading over some of the basic papers in this area to gain understanding. However, I want to understand the practical benefits before I read too much :)
Thanks,
Ceberous