class_docstr: Pullback metric induced by a diffeomorphism.
class_docstr_tok: ["Pullback","metric","induced","by","a","diffeomorphism","."]
docstr: Compute the curvature via diffeomorphic pullback.
  
  Parameters
  ----------
  tangent_vec_a : array-like, shape=[..., *shape]
      Tangent vector a.
  tangent_vec_b : array-like, shape=[..., *shape]
      Tangent vector b.
  tangent_vec_c : array-like, shape=[..., *shape]
      Tangent vector c.
  base_point : array-like, shape=[..., *shape]
      Base point.
  
  Returns
  -------
  curvature : array-like, shape=[..., *shape]
      Curvature in directions tangent_vec a, b, c at base_point.
docstr_tok: ["Compute","the","curvature","via","diffeomorphic","pullback",".","Parameters","--","--","--","--","--","tangent_vec_a",":","array-like",",","shape=","[","...",",","*","shape","]","Tangent","vector","a.","tangent_vec_b",":","array-like",",","shape=","[","...",",","*","shape","]","Tangent","vector","b.","tangent_vec_c",":","array-like",",","shape=","[","...",",","*","shape","]","Tangent","vector","c.","base_point",":","array-like",",","shape=","[","...",",","*","shape","]","Base","point",".","Returns","--","--","--","-","curvature",":","array-like",",","shape=","[","...",",","*","shape","]","Curvature","in","directions","tangent_vec","a",",","b",",","c","at","base_point","."]
code: def curvature(
      self, tangent_vec_a, tangent_vec_b, tangent_vec_c, base_point
  ):
      """Compute the curvature via diffeomorphic pullback.
  
      Parameters
      ----------
      tangent_vec_a : array-like, shape=[..., *shape]
          Tangent vector a.
      tangent_vec_b : array-like, shape=[..., *shape]
          Tangent vector b.
      tangent_vec_c : array-like, shape=[..., *shape]
          Tangent vector c.
      base_point : array-like, shape=[..., *shape]
          Base point.
  
      Returns
      -------
      curvature : array-like, shape=[..., *shape]
          Curvature in directions tangent_vec a, b, c at base_point.
      """
      image_base_point = self.diffeo.diffeomorphism(base_point)
      image_tangent_vec_a = self.diffeo.tangent_diffeomorphism(
          tangent_vec_a,
          base_point=base_point,
          image_point=image_base_point,
      )
      image_tangent_vec_b = self.diffeo.tangent_diffeomorphism(
          tangent_vec_b,
          base_point=base_point,
          image_point=image_base_point,
      )
      image_tangent_vec_c = self.diffeo.tangent_diffeomorphism(
          tangent_vec_c,
          base_point=base_point,
          image_point=image_base_point,
      )
      image_curvature = self.image_space.metric.curvature(
          image_tangent_vec_a,
          image_tangent_vec_b,
          image_tangent_vec_c,
          image_base_point,
      )
      return self.diffeo.inverse_tangent_diffeomorphism(
          image_curvature,
          image_point=image_base_point,
          base_point=base_point,
      )
  
imports: import geomstats.backend
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.numerics.geodesic import ExpODESolver, LogShootingSolver
  from geomstats.numerics.ivp import GSIVPIntegrator
  from geomstats.vectorization import check_is_batch
label_desc: Use image node_id 11 for calling the PullbackDiffeoMetric obj's underlying member method code with example usage: obj.curvature(tangent_vec_a, tangent_vec_b, tangent_vec_c, base_point) and returns: self