15 template <
class ScalarType>
void sphere_log_map(
const std::vector <ScalarType> &p,
const std::vector <ScalarType> &x,
16 std::vector <ScalarType> &logValue);
25 template <
class ScalarType>
void sphere_exp_map(
const std::vector <ScalarType> &p,
const std::vector <ScalarType> &x,
26 std::vector <ScalarType> &expValue);
38 template <
class ScalarType>
void ComputeSphericalCentroid(
const std::vector < std::vector <ScalarType> > &dataPoints,
39 std::vector <ScalarType> ¢roidValue,
const std::vector <ScalarType> &initPoint,
40 const std::vector <ScalarType> &weights, std::vector <ScalarType> *workLogVector = 0,
41 std::vector <ScalarType> *workVector = 0,
double tol = 1.0e-4);
void sphere_exp_map(const std::vector< ScalarType > &p, const std::vector< ScalarType > &x, std::vector< ScalarType > &expValue)
void sphere_log_map(const std::vector< ScalarType > &p, const std::vector< ScalarType > &x, std::vector< ScalarType > &logValue)
void ComputeSphericalCentroid(const std::vector< std::vector< ScalarType > > &dataPoints, std::vector< ScalarType > ¢roidValue, const std::vector< ScalarType > &initPoint, const std::vector< ScalarType > &weights, std::vector< ScalarType > *workLogVector=0, std::vector< ScalarType > *workVector=0, double tol=1.0e-4)