class_docstr: Class for manifolds.
  
  Parameters
  ----------
  dim : int
      Dimension of the manifold.
  shape : tuple of int
      Shape of one element of the manifold.
      Optional, default : None.
  default_coords_type : str, {'intrinsic', 'extrinsic', etc}
      Coordinate type.
      Optional, default: 'intrinsic'.
  equip : bool
      If True, equip space with default metric.
  
  Attributes
  ----------
  point_ndim : int
      Dimension of point array.
  default_point_type : str
      Point type: "vector" or "matrix".
docstr: Equip manifold with quotient structure.
  
  Creates attributes `quotient` and `fiber_bundle`.
docstr_tok: ["Equip","manifold","with","quotient","structure",".","Creates","attributes","`","quotient","`","and","`","fiber_bundle","`","."]
code: def equip_with_quotient_structure(self):
      """Equip manifold with quotient structure.
  
      Creates attributes `quotient` and `fiber_bundle`.
      """
      self._check_equip_with_quotient_structure()
  
      key = type(self.metric), self.group_action
  
      out = self._quotient_map.get(key, None)
      if out is None:
          raise ValueError(f"No mapping for key: {key}")
      FiberBundle_, QuotientMetric_ = out
  
      self.fiber_bundle = FiberBundle_(total_space=self)
  
      self.quotient = self.new(equip=False)
      self.quotient.equip_with_metric(
          QuotientMetric_, fiber_bundle=self.fiber_bundle
      )
  
file_path: geomstats/geomstats/geometry/manifold.py
imports: import abc
  import geomstats.backend
  import geomstats.errors
label_desc: Use image node_id 5 for calling the Manifold obj's underlying member method code with example usage: obj.equip_with_quotient_structure() without return types