  We present an iterative technique for finding zeroes of vector fields on
Riemannian manifolds. As a special case we obtain a ``nonlinear averaging
algorithm'' that computes the centroid of a mass distribution supported in a
set of small enough diameter D in a Riemannian manifold M. We estimate the
convergence rate of our general algorithm and the more special Riemannian
averaging algorithm. The algorithm is also used to provide a constructive proof
of Karcher's theorem on the existence and local uniqueness of the center of
mass, under a somewhat stronger requirement than Karcher's on D. Another
corollary of our results is a proof of convergence, for a fairly large open set
of initial conditions, of the ``GPA algorithm'' used in statistics to average
points in a shape-space, and a quantitative explanation of why the GPA
algorithm converges rapidly in practice. We also show that a mass distribution
in M with support Q has a unique center of mass in a (suitably defined) convex
hull of Q.
