code: def _testSampleLogProbExact(
      self,
      concentrations,
      det_bounds,
      dim,
      means,
      num_samples=int(1e5),
      dtype=np.float32,
      target_discrepancy=0.1,
      input_output_cholesky=False,
      seed=42,
  ):
      # For test methodology see the comment in
      # _testSampleConsistentLogProbInterval, except that this test
      # checks those parameter settings where the true volume is known
      # analytically.
      concentration = np.array(concentrations, dtype=dtype)
      det_bounds = np.array(det_bounds, dtype=dtype)
      means = np.array(means, dtype=dtype)
      # Add a tolerance to guard against some of the importance_weights exceeding
      # the theoretical maximum (importance_maxima) due to numerical inaccuracies
      # while lower bounding the determinant. See corresponding comment in
      # _testSampleConsistentLogProbInterval.
      high_tolerance = 1e-6
  
      testee_dist = lkj.LKJ(
          dimension=dim,
          concentration=concentration,
          input_output_cholesky=input_output_cholesky,
          validate_args=True,
      )
      x = testee_dist.sample(num_samples, seed=seed)
      importance_weights = tf.exp(
          -testee_dist.log_prob(x)
      ) * _det_ok_mask(x, det_bounds, input_output_cholesky)
      importance_maxima = (1.0 / det_bounds) ** (
          concentration - 1
      ) * tf.exp(testee_dist._log_normalization())
  
      chk1 = st.assert_true_mean_equal_by_dkwm(
          importance_weights,
          low=0.0,
          high=importance_maxima + high_tolerance,
          expected=means,
          false_fail_rate=1e-6,
      )
      chk2 = assert_util.assert_less(
          st.min_discrepancy_of_true_means_detectable_by_dkwm(
              num_samples,
              low=0.0,
              high=importance_maxima + high_tolerance,
              false_fail_rate=1e-6,
              false_pass_rate=1e-6,
          ),
          dtype(target_discrepancy),
      )
      self.evaluate([chk1, chk2])
  
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 3 for calling the LKJTest obj's underlying member method code with example usage: obj._testSampleLogProbExact(concentrations, det_bounds, dim, means, num_samples, dtype, target_discrepancy, input_output_cholesky, seed) without return types