class_docstr: Class for the quotient structure on PSD matrices.
class_docstr_tok: ["Class","for","the","quotient","structure","on","PSD","matrices","."]
docstr: Differential.
docstr_tok: ["Differential","."]
code: def tangent_riemannian_submersion(self, tangent_vec, base_point):
      """Differential."""
      product = Matrices.mul(
          base_point, Matrices.transpose(tangent_vec)
      )
      return product + Matrices.transpose(product)
  
imports: import geomstats.backend
  from geomstats.geometry.fiber_bundle import FiberBundle
  from geomstats.geometry.full_rank_matrices import FullRankMatrices
  from geomstats.geometry.general_linear import GeneralLinear
  from geomstats.geometry.manifold import Manifold
  from geomstats.geometry.matrices import Matrices, MatricesMetric
  from geomstats.geometry.quotient_metric import QuotientMetric
  from geomstats.geometry.spd_matrices import SPDEuclideanMetric, SPDMatrices
  from geomstats.geometry.special_orthogonal import SpecialOrthogonal
  from geomstats.geometry.symmetric_matrices import SymmetricMatrices
label_desc: Use image node_id 3 for calling the BuresWassersteinBundle obj's underlying member method code with example usage: obj.tangent_riemannian_submersion(tangent_vec, base_point) and returns: unknown