code: def test_tangent_riemannian_submersion_is_tangent(
      self, n_points, atol
  ):
      base_point = self.data_generator.random_point(n_points)
      tangent_vec = self.data_generator.random_tangent_vec(base_point)
  
      proj_tangent_vector = self.bundle.tangent_riemannian_submersion(
          tangent_vec, base_point
      )
      proj_point = self.bundle.riemannian_submersion(base_point)
  
      res = self.base.is_tangent(
          proj_tangent_vector, proj_point, atol=atol
      )
      expected = gs.ones(n_points, dtype=bool)
      self.assertAllEqual(res, expected)
  
imports: import pytest
  import geomstats.backend
  from geomstats.geometry.fiber_bundle import FiberBundle
  from geomstats.geometry.matrices import Matrices
  from geomstats.geometry.special_orthogonal import SpecialOrthogonal
  from geomstats.test.random import RandomDataGenerator
  from geomstats.test.test_case import TestCase
  from geomstats.test.vectorization import generate_vectorization_data
label_desc: Use image node_id 13 for calling the FiberBundleTestCase obj's underlying member method code with example usage: obj.test_tangent_riemannian_submersion_is_tangent(n_points, atol) without return types