code: def test_lifting_after_retraction(self, n_points, atol):
      base_point = self.data_generator.random_point(n_points)
      tangent_vec = self.data_generator.random_tangent_vec(base_point)
  
      point = self.space.metric.retraction(tangent_vec, base_point)
      tangent_vec_ = self.space.metric.lifting(point, base_point)
  
      self.assertAllClose(tangent_vec_, tangent_vec, atol=atol)
  
imports: import pytest
  import geomstats.backend
  from geomstats.geometry.grassmannian import Grassmannian
  from geomstats.test.test_case import TestCase
  from geomstats.test.vectorization import generate_vectorization_data
  from geomstats.test_cases.geometry.base import LevelSetTestCase
  from geomstats.test_cases.geometry.riemannian_metric import RiemannianMetricTestCase
label_desc: Use image node_id 5 for calling the StiefelCanonicalMetricTestCase obj's underlying member method code with example usage: obj.test_lifting_after_retraction(n_points, atol) without return types