  In this paper, we propose a Riemannian version of the difference of convex
algorithm (DCA) to solve a minimization problem involving the difference of
convex (DC) function. We establish the equivalence between the classical and
simplified Riemannian versions of the DCA. We also prove that, under mild
assumptions, the Riemannian version of the DCA is well-defined, and every
cluster point of the sequence generated by the proposed method, if any, is a
critical point of the objective DC function. Additionally, we establish some
duality relations between the DC problem and its dual. To illustrate the
effectiveness of the algorithm, we present some numerical experiments.
