code: def testLogPDFBatch(self):
      seed_stream = test_util.test_seed_stream()
      df, loc, scale_row, scale_col = self._random_df_loc_and_scale(
          batch_shape=[7], matrix_shape=[3, 5], seed_stream=seed_stream
      )
      matrix_t = mtlo.MatrixTLinearOperator(
          df, loc, scale_row, scale_col, validate_args=True
      )
      x = tf.random.normal(
          shape=[3, 5], seed=seed_stream(), dtype=self.dtype
      )
  
      log_pdf = matrix_t.log_prob(x)
      pdf = matrix_t.prob(x)
  
      # Check that this matches using a Multivariate-T.
      mvt = mst.MultivariateStudentTLinearOperator(
          df,
          loc=_vec(loc),
          scale=tf.linalg.LinearOperatorKronecker(
              [scale_row, scale_col]
          ),
      )
  
      log_pdf_, pdf_, mvt_log_pdf_, mvt_pdf_ = self.evaluate(
          [log_pdf, pdf, mvt.log_prob(_vec(x)), mvt.prob(_vec(x))]
      )
  
      self.assertEqual((7,), log_pdf.shape)
      self.assertEqual((7,), pdf.shape)
      self.assertAllClose(mvt_log_pdf_, log_pdf_)
      self.assertAllClose(mvt_pdf_, pdf_)
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import shift
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.bijectors import transform_diagonal
  from tensorflow_probability.python.distributions import matrix_t_linear_operator
  from tensorflow_probability.python.distributions import multivariate_student_t
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 4 for calling the _MatrixTTest obj's underlying member method code with example usage: obj.testLogPDFBatch() without return types