class_docstr: In-house ODE integrator.
  
  Parameters
  ----------
  n_steps : int
      Number of steps to perform.
  step_type : str
      Type of integration step.
      Possible values are `euler`, `rk2`, `rk4`.
  save_result : bool
      If True, result is stored after calling `integrate` or `integrate_t`.
docstr: Integrate force at `t_eval` points.
  
  Parameters
  ----------
  force : callable
      Function to integrate.
  initial_state : array-like
      Initial state.
  t_eval : array-like
      Times at which to store the computed solution.
  
  Returns
  -------
  result : OdeResult
docstr_tok: ["Integrate","force","at","`","t_eval","`","points",".","Parameters","--","--","--","--","--","force",":","callable","Function","to","integrate",".","initial_state",":","array-like","Initial","state",".","t_eval",":","array-like","Times","at","which","to","store","the","computed","solution",".","Returns","--","--","--","-","result",":","OdeResult"]
code: def integrate_t(self, force, initial_state, t_eval):
      """Integrate force at `t_eval` points.
  
      Parameters
      ----------
      force : callable
          Function to integrate.
      initial_state : array-like
          Initial state.
      t_eval : array-like
          Times at which to store the computed solution.
  
      Returns
      -------
      result : OdeResult
      """
      # TODO: this is a very naive implementation
      # based on previous generic implementation in geomstats
      # resolution gets worst for larger t
  
      states = []
      initial_states = [
          gs.stack([initial_state[0], t * initial_state[1]])
          for t in t_eval
      ]
      for initial_state_ in initial_states:
          states_t = self._integrate(
              force, initial_state_, end_time=1.0
          )
          states.append(states_t[-1])
  
      nfev = self._get_n_fevals(self.n_steps)
      n_t = len(t_eval)
      result = OdeResult(
          t=t_eval,
          y=gs.stack(states),
          nfev=n_t * nfev,
          njev=0,
          sucess=True,
      )
  
      if self.save_result:
          self.result_ = result
  
      return result
  
imports: from abc import ABC, abstractmethod
  import scipy
  import geomstats.backend
  import geomstats.integrator
  from geomstats.errors import check_parameter_accepted_values
  from geomstats.numerics._common import result_to_backend_type
label_desc: Use image node_id 8 for calling the GSIVPIntegrator obj's underlying member method code with example usage: obj.integrate_t(force, initial_state, t_eval) and returns: result