code: def testDppLogPDF(self, n_points):
      true_kernel, eigvals, eigvecs = self.evaluate(
          kernel_over_unit_square(n_points, dtype=self.param_dtype)
      )
      dpp = dpp_lib.DeterminantalPointProcess(eigvals, eigvecs)
      log_probs = []
      for i in range(
          2**n_points
      ):  # n_points is small so we can enumerate sets.
          binary = bin(i)[2:]
          subset = [0] * n_points
          subset[-len(binary) :] = [int(c) for c in binary]
          mask = np.array(subset, np.bool_)
          submatrix = true_kernel[mask][:, mask]
          expected = tf.linalg.logdet(submatrix) - tf.linalg.logdet(
              true_kernel + tf.eye(n_points, dtype=self.param_dtype)
          )
          log_probs.append(dpp.log_prob(tf.constant(subset)))
          self.assertAllClose(
              expected, log_probs[-1], atol=1e-4, msg=str(subset)
          )
      self.assertAllClose(1.0, tf.reduce_sum(tf.math.exp(log_probs)))
  
imports: import contextlib
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import bernoulli
  from tensorflow_probability.python.distributions import dpp
  from tensorflow_probability.python.distributions import uniform
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math.psd_kernels import exponentiated_quadratic
label_desc: Use image node_id 11 for calling the _DppTest obj's underlying member method code with example usage: obj.testDppLogPDF(n_points) without return types