class_docstr: Circle mean.
  
  Parameters
  ----------
  space : Manifold
      Equipped manifold.
  
  Attributes
  ----------
  estimate_ : array-like, shape=[2,]
      If fit, Frechet mean.
class_docstr_tok: ["Circle","mean",".","Parameters","--","--","--","--","--","space",":","Manifold","Equipped","manifold",".","Attributes","--","--","--","--","--","estimate_",":","array-like",",","shape=","[","2",",","]","If","fit",",","Frechet","mean","."]
docstr: Determine the mean on a circle.
  
  Data are expected in radians in the range [-pi, pi). The mean is returned
  in the same range. If the mean is unique, this algorithm is guaranteed to
  find it. It is not vulnerable to local minima of the Frechet function. If
  the mean is not unique, the algorithm only returns one of the means. Which
  mean is returned depends on numerical rounding errors.
  
  Parameters
  ----------
  points : array-like, shape=[n_samples, 1]
      Data set of angles (intrinsic coordinates).
  
  Reference
  ---------
  .. [HH15] Hotz, T. and S. F. Huckemann (2015), "Intrinsic means on the
      circle: Uniqueness, locus and asymptotics", Annals of the Institute of
      Statistical Mathematics 67 (1), 177–193.
      https://arxiv.org/abs/1108.2141
code: def _circle_mean(self, points):
      """Determine the mean on a circle.
  
      Data are expected in radians in the range [-pi, pi). The mean is returned
      in the same range. If the mean is unique, this algorithm is guaranteed to
      find it. It is not vulnerable to local minima of the Frechet function. If
      the mean is not unique, the algorithm only returns one of the means. Which
      mean is returned depends on numerical rounding errors.
  
      Parameters
      ----------
      points : array-like, shape=[n_samples, 1]
          Data set of angles (intrinsic coordinates).
  
      Reference
      ---------
      .. [HH15] Hotz, T. and S. F. Huckemann (2015), "Intrinsic means on the
          circle: Uniqueness, locus and asymptotics", Annals of the Institute of
          Statistical Mathematics 67 (1), 177–193.
          https://arxiv.org/abs/1108.2141
      """
      sample_size = points.shape[0]
      mean0 = gs.mean(points)
      var0 = gs.sum((points - mean0) ** 2)
      sorted_points = gs.sort(points, axis=0)
      means = self._circle_variances(
          mean0, var0, sample_size, sorted_points
      )
      return means[gs.argmin(means[:, 1]), 0]
  
imports: import abc
  import logging
  import math
  from sklearn.base import BaseEstimator
  import geomstats.backend
  import geomstats.errors
  from geomstats.geometry.discrete_curves import ElasticTranslationMetric, SRVTranslationMetric
  from geomstats.geometry.euclidean import EuclideanMetric
  from geomstats.geometry.hypersphere import HypersphereMetric
  from geomstats.geometry.matrices import MatricesMetric
  from geomstats.geometry.minkowski import MinkowskiMetric
label_desc: Use image node_id 2 for calling the CircleMean obj's underlying member method code with example usage: obj._circle_mean(points) and returns: means