This repo is an implementation of the algorithm from our paper Distributed Consensus on Manifolds using the Riemannian Center of Mass. This algorithm synchronizes a set of agents over any manifold, as long as it has bounded sectional curvature. Any manifold in the Manopt library may be used.
Just run main.m
.
ConsensusError.m
is a function that computes the geodesic variance, aka consensus error, of a set of points under a graph on a manifold. RiemannianCenterOfMass.m
computes the Riemannian center of mass of a set of points on a manifold. main.m
is the file that contains the algorithm. Run it, and it will plot the consensus error over time. The number of agents is set to 10, the tolernace is set to
These files require the matlab Manopt library to run. Follow the installation instructions, but the basic instructions are
- Download the MATLAB Manopt library
- Move the Manopt directory to your MATLAB directory
- In the MATLAB console, cd into the Manopt directory
- Type
importmanopt
in the MATLAB console
For any issues, please post an issue here, or contact me at kraisler(at)uw(dot)edu! I am always happy to help and explain anything!