code: def test_inner_product_derivative_matrix(
      self, base_point, expected_1, expected_2, atol
  ):
      res = self.space.metric.inner_product_derivative_matrix(
          base_point
      )
      self.assertAllClose(res[:, :, 0], expected_1, atol=atol)
      self.assertAllClose(res[:, :, 1], expected_2, atol=atol)
  
imports: import pytest
  from geomstats.geometry.hypersphere import Hypersphere
  from geomstats.geometry.invariant_metric import BiInvariantMetric
  from geomstats.geometry.special_orthogonal import SpecialOrthogonal
  from geomstats.test.parametrizers import DataBasedParametrizer
  from geomstats.test_cases.geometry.base import ImmersedSetTestCase
  from geomstats.test_cases.geometry.pullback_metric import CircleAsSO2Metric, CircleIntrinsic, PullbackMetricTestCase, SphereIntrinsic
  from geomstats.test_cases.geometry.riemannian_metric import RiemannianMetricComparisonTestCase
  from .data.pullback_metric import CircleAsSO2PullbackDiffeoMetricCmpTestData, CircleIntrinsicMetricTestData, CircleIntrinsicTestData, SphereIntrinsicMetricTestData, SphereIntrinsicTestData
label_desc: Use image node_id 2 for calling the TestSphereIntrinsicMetric obj's underlying member method code with example usage: obj.test_inner_product_derivative_matrix(base_point, expected_1, expected_2, atol) without return types