docstr: Check end point of a geodesic matches exponential.
  
  Parameters
  ----------
  n_points : int
      Number of random points to generate.
  atol : float
      Absolute tolerance.
docstr_tok: ["Check","end","point","of","a","geodesic","matches","exponential",".","Parameters","--","--","--","--","--","n_points",":","int","Number","of","random","points","to","generate",".","atol",":","float","Absolute","tolerance","."]
code: def test_exp_geodesic_ivp(self, n_points, atol):
      """Check end point of a geodesic matches exponential.
  
      Parameters
      ----------
      n_points : int
          Number of random points to generate.
      atol : float
          Absolute tolerance.
      """
      base_point = self.data_generator.random_point(n_points)
      tangent_vec = self.data_generator.random_tangent_vec(base_point)
  
      geod_func = self.space.metric.geodesic(
          base_point, initial_tangent_vec=tangent_vec
      )
  
      end_point = self.space.metric.exp(tangent_vec, base_point)
      end_point_ = gs.squeeze(
          geod_func(1.0), axis=-(self.space.point_ndim + 1)
      )
  
      self.assertAllClose(end_point_, end_point, atol=atol)
  
imports: import math
  import pytest
  import geomstats.backend
  from geomstats.test.random import RandomDataGenerator, get_random_times
  from geomstats.test.test_case import TestCase
  from geomstats.test.utils import IdentityPointTransformer
  from geomstats.test.vectorization import generate_vectorization_data
  from geomstats.vectorization import get_batch_shape
label_desc: Use image node_id 22 for calling the ConnectionTestCase obj's underlying member method code with example usage: obj.test_exp_geodesic_ivp(n_points, atol) without return types