code: def kernel_over_unit_square(
      n_points, batch_shape=(), dtype=tf.float32
  ):
      kernel = tfpk.ExponentiatedQuadratic(
          amplitude=tf.ones([], dtype), length_scale=0.1
      )
      pts = uniform.Uniform(
          tf.zeros([2], dtype), tf.ones([2], dtype)
      ).sample(
          tuple(batch_shape) + (n_points,), seed=test_util.test_seed()
      )
      kernel_mat = kernel.matrix(pts, pts) + 1e-3 * tf.eye(
          n_points, dtype=dtype
      )
      eigvals, eigvecs = tf.linalg.eigh(kernel_mat)
      return kernel_mat, eigvals, eigvecs
  
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 2 for calling a global function with example usage: kernel_over_unit_square(n_points, batch_shape, dtype) and returns: kernel_mat,  eigvals,  eigvecs