class_docstr: Class for affine connections.
  
  Parameters
  ----------
  space : Manifold object
      M in the tuple (M, g).
class_docstr_tok: ["Class","for","affine","connections",".","Parameters","--","--","--","--","--","space",":","Manifold","object","M","in","the","tuple","(","M",",","g",")","."]
docstr: Compute one Schild's Ladder step.
  
  One step of the Schild's ladder scheme [LP2013a]_ using the geodesic to
  transport along as one side of the parallelogram.
  
  Parameters
  ----------
  base_point : array-like, shape=[..., dim]
      Point on the manifold, from which to transport.
  next_point : array-like, shape=[..., dim]
      Point on the manifold, to transport to.
  base_shoot : array-like, shape=[..., dim]
      Point on the manifold, end point of the geodesics starting
      from the base point with initial speed to be transported.
  return_geodesics : bool
      Whether to return points computed along each geodesic of the
      construction.
      Optional, default: False.
  
  Returns
  -------
  transported_tangent_vector : array-like, shape=[..., dim]
      Tangent vector at end point.
  end_point : array-like, shape=[..., dim]
      Point on the manifold, closes the geodesic parallelogram of the
      construction.
  
  References
  ----------
  .. [LP2013a] Marco Lorenzi, Xavier Pennec. Efficient Parallel Transport
      of Deformations in Time Series of Images: from Schild's to
      Pole Ladder. Journal of Mathematical Imaging and Vision, Springer
      Verlag, 2013,50 (1-2), pp.5-17. ⟨10.1007/s10851-013-0470-3⟩
docstr_tok: ["Compute","one","Schild","'s","Ladder","step",".","One","step","of","the","Schild","'s","ladder","scheme","[","LP2013a","]","_","using","the","geodesic","to","transport","along","as","one","side","of","the","parallelogram",".","Parameters","--","--","--","--","--","base_point",":","array-like",",","shape=","[","...",",","dim","]","Point","on","the","manifold",",","from","which","to","transport",".","next_point",":","array-like",",","shape=","[","...",",","dim","]","Point","on","the","manifold",",","to","transport","to",".","base_shoot",":","array-like",",","shape=","[","...",",","dim","]","Point","on","the","manifold",",","end","point","of","the","geodesics","starting","from","the","base","point","with","initial","speed","to","be","transported",".","return_geodesics",":","bool","Whether","to","return","points","computed","along","each","geodesic","of","the","construction",".","Optional",",","default",":","False",".","Returns","--","--","--","-","transported_tangent_vector",":","array-like",",","shape=","[","...",",","dim","]","Tangent","vector","at","end","point",".","end_point",":","array-like",",","shape=","[","...",",","dim","]","Point","on","the","manifold",",","closes","the","geodesic","parallelogram","of","the","construction",".","References","--","--","--","--","--","..","[","LP2013a","]","Marco","Lorenzi",",","Xavier","Pennec",".","Efficient","Parallel","Transport","of","Deformations","in","Time","Series","of","Images",":","from","Schild","'s","to","Pole","Ladder",".","Journal","of","Mathematical","Imaging","and","Vision",",","Springer","Verlag",",","2013,50","(","1-2",")",",","pp.5-17",".","\u27e810.1007\/s10851-013-0470-3\u27e9"]
code: def _schild_ladder_step(
      self, base_point, next_point, base_shoot, return_geodesics=False
  ):
      """Compute one Schild's Ladder step.
  
      One step of the Schild's ladder scheme [LP2013a]_ using the geodesic to
      transport along as one side of the parallelogram.
  
      Parameters
      ----------
      base_point : array-like, shape=[..., dim]
          Point on the manifold, from which to transport.
      next_point : array-like, shape=[..., dim]
          Point on the manifold, to transport to.
      base_shoot : array-like, shape=[..., dim]
          Point on the manifold, end point of the geodesics starting
          from the base point with initial speed to be transported.
      return_geodesics : bool
          Whether to return points computed along each geodesic of the
          construction.
          Optional, default: False.
  
      Returns
      -------
      transported_tangent_vector : array-like, shape=[..., dim]
          Tangent vector at end point.
      end_point : array-like, shape=[..., dim]
          Point on the manifold, closes the geodesic parallelogram of the
          construction.
  
      References
      ----------
      .. [LP2013a] Marco Lorenzi, Xavier Pennec. Efficient Parallel Transport
          of Deformations in Time Series of Images: from Schild's to
          Pole Ladder. Journal of Mathematical Imaging and Vision, Springer
          Verlag, 2013,50 (1-2), pp.5-17. ⟨10.1007/s10851-013-0470-3⟩
      """
      mid_tangent_vector_to_shoot = (
          1.0 / 2.0 * self.log(base_point=base_shoot, point=next_point)
      )
  
      mid_point = self.exp(
          base_point=base_shoot, tangent_vec=mid_tangent_vector_to_shoot
      )
  
      tangent_vector_to_shoot = -self.log(
          base_point=mid_point, point=base_point
      )
  
      end_shoot = self.exp(
          base_point=mid_point, tangent_vec=tangent_vector_to_shoot
      )
  
      geodesics = []
      if return_geodesics:
          main_geodesic = self.geodesic(
              initial_point=base_point, end_point=next_point
          )
          diagonal = self.geodesic(
              initial_point=base_point, end_point=end_shoot
          )
          second_diagonal = self.geodesic(
              initial_point=base_shoot, end_point=next_point
          )
          final_geodesic = self.geodesic(
              initial_point=next_point, end_point=end_shoot
          )
          geodesics = [
              main_geodesic,
              diagonal,
              second_diagonal,
              final_geodesic,
          ]
      return {"geodesics": geodesics, "end_point": end_shoot}
  
imports: from abc import ABC
  import geomstats.backend
  import geomstats.errors
label_desc: Use image node_id 7 for calling the Connection obj's underlying member method code with example usage: obj._schild_ladder_step(base_point, next_point, base_shoot, return_geodesics) and returns: dict