class_docstr: Geodesic boundary value problem using an ODE solver.
  
  Parameters
  ----------
  n_nodes : Number of mesh nodes.
  integrator : ScipySolveBVP
      Instance of ScipySolveBVP.
  initialization : callable
      Function to provide initial solution. `f(space, point, base_point)`.
      Defaults to linear initialization.
class_docstr_tok: ["Geodesic","boundary","value","problem","using","an","ODE","solver",".","Parameters","--","--","--","--","--","n_nodes",":","Number","of","mesh","nodes",".","integrator",":","ScipySolveBVP","Instance","of","ScipySolveBVP",".","initialization",":","callable","Function","to","provide","initial","solution",".","`","f","(","space",",","point",",","base_point",")","`",".","Defaults","to","linear","initialization","."]
code: def __init__(
      self,
      n_nodes=10,
      integrator=None,
      initialization=None,
      use_jac=True,
  ):
      if integrator is None:
          integrator = ScipySolveBVP()
  
      if initialization is None:
          initialization = self._default_initialization
  
      self.n_nodes = n_nodes
      self.integrator = integrator
      self.initialization = initialization
      self.use_jac = use_jac
  
      self.grid = self._create_grid()
  
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 to create a new LogODESolver object from inherited base classes: _LogBatchMixins, LogSolver with example: obj = LogODESolver(n_nodes, integrator, initialization, use_jac)