code: def verify_expectations(self, dimension, dtype):
      num_samples = int(1e5)
      # pylint: disable=protected-access
      x = lkj._tril_spherical_uniform(
          dimension=dimension,
          batch_shape=[num_samples],
          dtype=dtype,
          seed=test_util.test_seed(),
      )
      # pylint: enable=protected-access
      self.assertEqual(dtype, dtype_util.as_numpy_dtype(x.dtype))
      final_shape = [num_samples, dimension, dimension]
      self.assertAllEqual(final_shape, x.shape)
      sample_mean = tf.reduce_mean(x, axis=0)
      sample_var = tf.reduce_mean(
          tf.math.squared_difference(x, sample_mean), axis=0
      )
      samples, sample_mean, sample_var = self.evaluate(
          [x, sample_mean, sample_var]
      )
      self.assertAllMeansClose(
          samples,
          np.zeros_like(sample_mean),
          axis=0,
          atol=7e-3,
          rtol=2e-3,
      )
      expected_var = np.tril(
          np.ones([dimension, dimension], dtype=dtype)
      )
      expected_var = (
          expected_var / np.arange(1, dimension + 1)[..., None]
      )
      self.assertAllClose(
          expected_var, sample_var, atol=5e-3, rtol=2e-2
      )
  
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import lkj
  from tensorflow_probability.python.distributions.internal import statistical_testing
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 1 for calling the TrilSphericalUniformTest obj's underlying member method code with example usage: obj.verify_expectations(dimension, dtype) without return types