code: def test_trainable_linear_operator_tril(
      self, shape, dtype, use_static_shape
  ):
      op = trainable_linear_operators.build_trainable_linear_operator_tril(
          _build_shape(shape, is_static=use_static_shape), dtype=dtype
      )
      dim = shape[-1]
      self._test_linear_operator_shape_and_gradients(
          op, shape[:-1], dim, dim, dtype
      )
  
imports: import functools
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v1
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import scale_matvec_linear_operator
  from tensorflow_probability.python.experimental.util import deferred_module
  from tensorflow_probability.python.experimental.vi.util import trainable_linear_operators
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 3 for calling the TrainableLinearOperators obj's underlying member method code with example usage: obj.test_trainable_linear_operator_tril(shape, dtype, use_static_shape) without return types