code: def inner_product_test_data(self):
      data = [
          dict(
              tangent_vec_a=gs.array([[1.0, 0.0], [-2.0, -1.0]]),
              tangent_vec_b=gs.array([[2.0, 0.0], [-3.0, -1.0]]),
              base_point=gs.array([[SQRT_2, 0.0], [-3.0, 1.0]]),
              expected=gs.array(8.0),
          ),
          dict(
              tangent_vec_a=gs.array(
                  [
                      [[3.0, 0.0], [4.0, 2.0]],
                      [[-1.0, 0.0], [2.0, -4.0]],
                  ]
              ),
              tangent_vec_b=gs.array(
                  [[[4.0, 0.0], [3.0, 3.0]], [[3.0, 0.0], [-6.0, 2.0]]]
              ),
              base_point=gs.array(
                  [[[3, 0.0], [-2.0, 6.0]], [[1, 0.0], [-1.0, 1.0]]]
              ),
              expected=gs.array([13.5, -23.0]),
          ),
      ]
      return self.generate_tests(data)
  
imports: import math
  import geomstats.backend
  from geomstats.test.data import TestData
  from .base import VectorSpaceOpenSetTestData
  from .invariant_metric import InvariantMetricMatrixTestData
  from .lie_group import MatrixLieGroupTestData
  from .pullback_metric import PullbackDiffeoMetricTestData
  from .riemannian_metric import RiemannianMetricTestData
label_desc: Use image node_id 3 for calling the CholeskyMetric2TestData obj's underlying member method code with example usage: obj.inner_product_test_data() and returns: self