class_docstr: Class for the quotient structure on PSD matrices.
class_docstr_tok: ["Class","for","the","quotient","structure","on","PSD","matrices","."]
docstr: Horizontal lift of a tangent vector.
docstr_tok: ["Horizontal","lift","of","a","tangent","vector","."]
code: def horizontal_lift(
      self, tangent_vec, base_point=None, fiber_point=None
  ):
      """Horizontal lift of a tangent vector."""
      n = self.total_space.n
      if fiber_point is None:
          fiber_point = self.lift(base_point)
      transposed_point = Matrices.transpose(fiber_point)
      alignment = Matrices.mul(transposed_point, fiber_point)
      projector = Matrices.mul(
          fiber_point, GeneralLinear.inverse(alignment)
      )
      right_term = Matrices.mul(
          transposed_point, tangent_vec, fiber_point
      )
      sylvester = gs.linalg.solve_sylvester(
          alignment, alignment, right_term
      )
      skew_term = Matrices.mul(projector, sylvester)
      orth_proj = gs.eye(n) - Matrices.mul(projector, transposed_point)
      orth_part = Matrices.mul(orth_proj, tangent_vec, projector)
      return skew_term + orth_part
  
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 5 for calling the BuresWassersteinBundle obj's underlying member method code with example usage: obj.horizontal_lift(tangent_vec, base_point, fiber_point) and returns: unknown