code: def test_mean_and_mode(self, batch_shape, dtype):
      event_size = 3
      cov = self._random_constant_spd_linop(
          event_size, batch_shape=batch_shape, dtype=dtype
      )
      precision_factor = cov.inverse().cholesky()
  
      # Make sure to evaluate here, else you'll have a random loc vector!
      loc = self.evaluate(
          tf.random.normal(
              batch_shape + (event_size,),
              dtype=dtype,
              seed=test_util.test_seed(),
          )
      )
  
      mvn_precision = (
          mvnpflo.MultivariateNormalPrecisionFactorLinearOperator(
              loc=loc, precision_factor=precision_factor
          )
      )
      self.assertAllClose(mvn_precision.mean(), loc)
      self.assertAllClose(mvn_precision.mode(), loc)
  
file_path: probability/tensorflow_probability/python/experimental/distributions/mvn_precision_factor_linop_test.py
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.distributions import wishart
  from tensorflow_probability.python.experimental.distributions import mvn_precision_factor_linop
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import test_combinations
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.stats import sample_stats
label_desc: Use image node_id 4 for calling the MVNPrecisionFactorLinOpTest obj's underlying member method code with example usage: obj.test_mean_and_mode(batch_shape, dtype) without return types