code: def test_horizontal_projection_is_horizontal_v2(self, n_points, atol):
      base_point = self.data_generator.random_point(n_points)
      tangent_vec = self.data_generator.random_tangent_vec(base_point)
  
      horizontal_vec = self.bundle.horizontal_projection(
          tangent_vec, base_point
      )
  
      inverse = GeneralLinear.inverse(base_point)
      product_1 = Matrices.mul(horizontal_vec, inverse)
      product_2 = Matrices.mul(inverse, horizontal_vec)
      is_horizontal = gs.all(
          self.base.is_tangent(
              product_1 + product_2, base_point, atol=atol
          )
      )
  
      self.assertTrue(is_horizontal)
  
imports: import random
  import pytest
  import geomstats.backend
  from geomstats.geometry.diffeo import ComposedDiffeo
  from geomstats.geometry.full_rank_correlation_matrices import CorrelationMatricesBundle, FullRankCorrelationMatrices, PolyHyperbolicCholeskyMetric
  from geomstats.geometry.general_linear import GeneralLinear
  from geomstats.geometry.hyperboloid import Hyperboloid
  from geomstats.geometry.matrices import Matrices
  from geomstats.geometry.open_hemisphere import OpenHemispheresProduct, OpenHemisphereToHyperboloidDiffeo
  from geomstats.geometry.positive_lower_triangular_matrices import UnitNormedRowsPLTDiffeo, UnitNormedRowsPLTMatrices
  from geomstats.geometry.spd_matrices import CholeskyMap, SPDMatrices
  from geomstats.test.parametrizers import DataBasedParametrizer
  from geomstats.test_cases.geometry.diffeo import DiffeoTestCase
  from geomstats.test_cases.geometry.fiber_bundle import FiberBundleTestCase
  from geomstats.test_cases.geometry.full_rank_correlation_matrices import FullRankCorrelationMatricesTestCase
  from geomstats.test_cases.geometry.pullback_metric import PullbackDiffeoMetricTestCase
  from geomstats.test_cases.geometry.quotient_metric import QuotientMetricTestCase
  from .data.diffeo import DiffeoTestData
  from .data.full_rank_correlation_matrices import CorrelationMatricesBundleTestData, FullRankCorrelationAffineQuotientMetricTestData, FullRankCorrelationMatricesTestData, PolyHyperbolicCholeskyMetricTestData
label_desc: Use image node_id 1 for calling the TestCorrelationMatricesBundle obj's underlying member method code with example usage: obj.test_horizontal_projection_is_horizontal_v2(n_points, atol) without return types