class_docstr: Quotient metric.
  
  Given a (principal) fiber bundle, or more generally a manifold with a
  Lie group acting on it by the right, the quotient space is the space of
  orbits under this action. The quotient metric is defined such that the
  canonical projection is a Riemannian submersion, i.e. it is isometric to
  the restriction of the metric of the total space to horizontal subspaces.
  
  Parameters
  ----------
  space : Manifold
      Base.
  fiber_bundle : FiberBundle
      Bundle structure to define the quotient.
class_docstr_tok: ["Quotient","metric",".","Given","a","(","principal",")","fiber","bundle",",","or","more","generally","a","manifold","with","a","Lie","group","acting","on","it","by","the","right",",","the","quotient","space","is","the","space","of","orbits","under","this","action",".","The","quotient","metric","is","defined","such","that","the","canonical","projection","is","a","Riemannian","submersion",",","i.e",".","it","is","isometric","to","the","restriction","of","the","metric","of","the","total","space","to","horizontal","subspaces",".","Parameters","--","--","--","--","--","space",":","Manifold","Base",".","fiber_bundle",":","FiberBundle","Bundle","structure","to","define","the","quotient","."]
docstr: Squared geodesic distance between two points.
  
  Parameters
  ----------
  point_a : array-like, shape=[...,  {dim, [n, n]}]
      Point.
  point_b : array-like, shape=[...,  {dim, [n, n]}]
      Point.
  
  Returns
  -------
  sq_dist : array-like, shape=[...,]
      Squared distance.
docstr_tok: ["Squared","geodesic","distance","between","two","points",".","Parameters","--","--","--","--","--","point_a",":","array-like",",","shape=","[","...",",","{","dim",",","[","n",",","n","]","}","]","Point",".","point_b",":","array-like",",","shape=","[","...",",","{","dim",",","[","n",",","n","]","}","]","Point",".","Returns","--","--","--","-","sq_dist",":","array-like",",","shape=","[","...",",","]","Squared","distance","."]
code: def squared_dist(self, point_a, point_b):
      """Squared geodesic distance between two points.
  
      Parameters
      ----------
      point_a : array-like, shape=[...,  {dim, [n, n]}]
          Point.
      point_b : array-like, shape=[...,  {dim, [n, n]}]
          Point.
  
      Returns
      -------
      sq_dist : array-like, shape=[...,]
          Squared distance.
      """
      fiber_point_a = self.fiber_bundle.lift(point_a)
      fiber_point_b = self.fiber_bundle.lift(point_b)
      aligned = self.fiber_bundle.align(fiber_point_b, fiber_point_a)
      return self.fiber_bundle.total_space.metric.squared_dist(
          fiber_point_a, aligned
      )
  
file_path: geomstats/geomstats/geometry/quotient_metric.py
imports: import geomstats.backend
  from geomstats.geometry.riemannian_metric import RiemannianMetric
label_desc: Use image node_id 6 for calling the QuotientMetric obj's underlying member method code with example usage: obj.squared_dist(point_a, point_b) and returns: self