class_docstr: Abstract class for geodesic boundary value problem solvers.
class_docstr_tok: ["Abstract","class","for","geodesic","boundary","value","problem","solvers","."]
docstr: Logarithm map.
  
  Parameters
  ----------
  space : Manifold
      Equipped manifold.
  end_point : array-like, shape=[..., dim]
      Point on the manifold.
  base_point : array-like, shape=[..., dim]
      Point on the manifold.
  
  Returns
  -------
  tangent_vec : array-like, shape=[..., dim]
      Tangent vector at the base point.
code: def log(self, space, point, base_point):
      """Logarithm map.
  
      Parameters
      ----------
      space : Manifold
          Equipped manifold.
      end_point : array-like, shape=[..., dim]
          Point on the manifold.
      base_point : array-like, shape=[..., dim]
          Point on the manifold.
  
      Returns
      -------
      tangent_vec : array-like, shape=[..., dim]
          Tangent vector at the base point.
      """
  
imports: import math
  from abc import ABC, abstractmethod
  import geomstats.backend
  from geomstats.numerics.bvp import ScipySolveBVP
  from geomstats.numerics.ivp import GSIVPIntegrator
  from geomstats.numerics.optimizers import ScipyMinimize
  from geomstats.vectorization import get_batch_shape
label_desc: Use image node_id 1 for calling the LogSolver obj's underlying member method code with example usage: obj.log(space, point, base_point) without return types