code: def testVariableScale(self):
      loc = tf.constant([1.0, 1.0])
      scale = tf.Variable([[1.0, 0.0], [0.0, 1.0]])
      d = mvn_tril.MultivariateNormalTriL(
          loc, scale, validate_args=True
      )
      self.evaluate(scale.initializer)
      with tf.GradientTape() as tape:
          lp = d.log_prob([0.0, 0.0])
      self.assertIsNotNone(tape.gradient(lp, scale))
  
imports: import os
  from absl.testing import parameterized
  import numpy
  from scipy import stats
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.bijectors import transform_diagonal
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import lognormal
  from tensorflow_probability.python.distributions import mvn_tril
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import tensorshape_util
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 21 for calling the MultivariateNormalTriLTest obj's underlying member method code with example usage: obj.testVariableScale() without return types