class_docstr: Class for (principal) fiber bundles.
  
  This class implements abstract methods for fiber bundles, or more
  generally manifolds, with a submersion map, or a right Lie group action.
  
  Parameters
  ----------
  group : LieGroup
      Group that acts on the total space by the right.
      Optional. Default : None.
      Either the group or the group action must be given.
  group_action : callable
      Right group action. It must take as input a point of the total space
      and an element of the group, and return a point of the total space.
class_docstr_tok: ["Class","for","(","principal",")","fiber","bundles",".","This","class","implements","abstract","methods","for","fiber","bundles",",","or","more","generally","manifolds",",","with","a","submersion","map",",","or","a","right","Lie","group","action",".","Parameters","--","--","--","--","--","group",":","LieGroup","Group","that","acts","on","the","total","space","by","the","right",".","Optional",".","Default",":","None",".","Either","the","group","or","the","group","action","must","be","given",".","group_action",":","callable","Right","group","action",".","It","must","take","as","input","a","point","of","the","total","space","and","an","element","of","the","group",",","and","return","a","point","of","the","total","space","."]
docstr: Project a tangent vector to base manifold.
  
  This is the differential of the projection of the fiber bundle,
  defined on the tangent space of a point of the total space,
  with values in the tangent space of the projection of this point in the
  base manifold. This map is surjective. By default, the base manifold
  is not explicit but is identified with a horizontal section of the
  fiber bundle, so the tangent submersion is the horizontal projection.
  
  Parameters
  ----------
  tangent_vec :  array-like, shape=[..., {total_space.dim, [n, m]}]
      Tangent vector to the total space at `base_point`.
  base_point: array-like, shape=[..., {total_space.dim, [n, m]}]
      Point of the total space.
  
  Returns
  -------
  projection: array-like, shape=[..., {base_dim, [n, m]}]
      Tangent vector to the base manifold.
docstr_tok: ["Project","a","tangent","vector","to","base","manifold",".","This","is","the","differential","of","the","projection","of","the","fiber","bundle",",","defined","on","the","tangent","space","of","a","point","of","the","total","space",",","with","values","in","the","tangent","space","of","the","projection","of","this","point","in","the","base","manifold",".","This","map","is","surjective",".","By","default",",","the","base","manifold","is","not","explicit","but","is","identified","with","a","horizontal","section","of","the","fiber","bundle",",","so","the","tangent","submersion","is","the","horizontal","projection",".","Parameters","--","--","--","--","--","tangent_vec",":","array-like",",","shape=","[","...",",","{","total_space.dim",",","[","n",",","m","]","}","]","Tangent","vector","to","the","total","space","at","`","base_point","`",".","base_point",":","array-like",",","shape=","[","...",",","{","total_space.dim",",","[","n",",","m","]","}","]","Point","of","the","total","space",".","Returns","--","--","--","-","projection",":","array-like",",","shape=","[","...",",","{","base_dim",",","[","n",",","m","]","}","]","Tangent","vector","to","the","base","manifold","."]
code: def tangent_riemannian_submersion(self, tangent_vec, base_point):
      """Project a tangent vector to base manifold.
  
      This is the differential of the projection of the fiber bundle,
      defined on the tangent space of a point of the total space,
      with values in the tangent space of the projection of this point in the
      base manifold. This map is surjective. By default, the base manifold
      is not explicit but is identified with a horizontal section of the
      fiber bundle, so the tangent submersion is the horizontal projection.
  
      Parameters
      ----------
      tangent_vec :  array-like, shape=[..., {total_space.dim, [n, m]}]
          Tangent vector to the total space at `base_point`.
      base_point: array-like, shape=[..., {total_space.dim, [n, m]}]
          Point of the total space.
  
      Returns
      -------
      projection: array-like, shape=[..., {base_dim, [n, m]}]
          Tangent vector to the base manifold.
      """
      return self.horizontal_projection(tangent_vec, base_point)
  
file_path: geomstats/geomstats/geometry/fiber_bundle.py
imports: import sys
  from abc import ABC
  from scipy.optimize import minimize
  import geomstats.backend
  from geomstats.vectorization import get_batch_shape
label_desc: Use image node_id 4 for calling the FiberBundle obj's underlying member method code with example usage: obj.tangent_riemannian_submersion(tangent_vec, base_point) and returns: self