code: def test_matrix_power(self):
      np.random.seed(42)
  
      # Testing with small values as we want case that would
      # result in underflow when ordinary `einsum` is used.
      a = _random_sparse_tensor([200, 4, 4], max_value=1e-20)
      m = tf.math.log(a)
      m2 = _logmatmulexp(m, m)
      m4 = _logmatmulexp(m2, m2)
      m8 = _logmatmulexp(m4, m4)
      m16 = _logmatmulexp(m8, m8)
      u = _logmatmulexp(m16, m16)
  
      # Compute product of 32 matrices as a single `logeinsumexp` over
      # 33 dimensions ensuring that:
      # (1) a 33-dimensional intermediate isn't materialized
      # (2) we can work with logs of quantities that would otherwise
      #     cause an underflow.
      # (3) we can in fact do this with a batch of matrices.
      letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
      lhs = ",".join(
          ["Z" + letters[i] + letters[i + 1] for i in range(32)]
      )
      rhs = "Z" + letters[0] + letters[32]
      formula = "{}->{}".format(lhs, rhs)
      log_as = 32 * [m]
      v = logeinsumexp(formula, *log_as)
  
      self.assertAllClose(u, v)
  
imports: import hypothesis
  from hypothesis.extra import numpy
  import hypothesis.strategies
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.experimental.marginalize.logeinsumexp import _binary_einslogsumexp
  from tensorflow_probability.python.experimental.marginalize.logeinsumexp import logeinsumexp
  from tensorflow_probability.python.internal import test_util
  import tensorflow_probability.python.internal.hypothesis_testlib
label_desc: Use image node_id 11 for calling the _EinLogSumExpTest obj's underlying member method code with example usage: obj.test_matrix_power() without return types