code: def trace_product_test_data(self):
      smoke_data = [
          dict(
              mat_1=gs.array([[-2.0, 0.0], [1.0, 2.0]]),
              mat_2=gs.array([[0.0, 1.0], [2.0, -2.0]]),
              expected=gs.array(-3.0),
          ),
          dict(
              mat_1=gs.array(
                  [
                      [[-5.0, 0.0], [-2.0, 0.0]],
                      [[-2.0, 1.0], [-5.0, -6.0]],
                  ]
              ),
              mat_2=gs.array(
                  [
                      [[6.0, 5.0], [-3.0, -2.0]],
                      [[-2.0, 0.0], [4.0, -6.0]],
                  ]
              ),
              expected=gs.array([-40.0, 44.0]),
          ),
      ]
      return self.generate_tests(smoke_data)
  
imports: import math
  import geomstats.backend
  from geomstats.test.data import TestData
  from .base import MatrixVectorSpaceTestData
  from .riemannian_metric import RiemannianMetricTestData
label_desc: Use image node_id 5 for calling the MatrixOperationsSmokeTestData obj's underlying member method code with example usage: obj.trace_product_test_data() and returns: self