code: def VerifyPowerSphericaUniformZeroKL(self, dim):
      seed_stream = test_util.test_seed_stream()
      mean_direction = tf.random.uniform(
          shape=[5, dim],
          minval=self.dtype(1.0),
          maxval=self.dtype(2.0),
          dtype=self.dtype,
          seed=seed_stream(),
      )
      mean_direction = tf.nn.l2_normalize(mean_direction, axis=-1)
      # Zero concentration is the same as a uniform distribution on the sphere.
      # Check that the log_probs agree and the KL divergence is zero.
      concentration = self.dtype(0.0)
  
      ps = power_spherical.PowerSpherical(
          mean_direction=mean_direction, concentration=concentration
      )
      su = spherical_uniform.SphericalUniform(
          dimension=dim, dtype=self.dtype
      )
  
      x = ps.sample(int(5e4), seed=test_util.test_seed())
  
      ps_lp = ps.log_prob(x)
      su_lp = su.log_prob(x)
      ps_lp_, su_lp_ = self.evaluate([ps_lp, su_lp])
      self.assertAllClose(ps_lp_, su_lp_, rtol=1e-6)
      true_kl = kullback_leibler.kl_divergence(ps, su)
      true_kl_ = self.evaluate([true_kl])
      self.assertAllClose(true_kl_, np.zeros_like(true_kl_), atol=1e-4)
  
imports: import numpy
  from scipy import special
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import power_spherical
  from tensorflow_probability.python.distributions import spherical_uniform
  from tensorflow_probability.python.distributions import von_mises_fisher
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.stats import sample_stats
label_desc: Use image node_id 26 for calling the _PowerSphericalTest obj's underlying member method code with example usage: obj.VerifyPowerSphericaUniformZeroKL(dim) without return types