code: def unary_op_given_array_test_data(self):
      def _create_spd():
          return SPDMatrices(2).random_point()
  
      def _create_diag():
          return Matrices.to_diagonal(rand(2, 2))
  
      def _create_sym():
          return SymmetricMatrices(2).random_point()
  
      smoke_data = [
          dict(func_name="linalg.cholesky", create_array=_create_spd),
          dict(func_name="linalg.eigvalsh", create_array=_create_sym),
          dict(func_name="linalg.expm", create_array=_create_diag),
          dict(func_name="linalg.expm", create_array=_create_spd),
          dict(func_name="linalg.logm", create_array=_create_diag),
          dict(func_name="linalg.logm", create_array=_create_spd),
          dict(func_name="linalg.sqrtm", create_array=_create_spd),
      ]
  
      return self.generate_tests(smoke_data)
  
imports: import numpy
  import geomstats.backend
  from geomstats.geometry.matrices import Matrices
  from geomstats.geometry.spd_matrices import SPDMatrices
  from geomstats.geometry.symmetric_matrices import SymmetricMatrices
  from geomstats.test.data import TestData
label_desc: Use image node_id 12 for calling the DtypeTestData obj's underlying member method code with example usage: obj.unary_op_given_array_test_data() and returns: self, SPDMatrices, Matrices, SymmetricMatrices