code: def TriAngInvCompositeGrad(l, grad):
      num_rows = array_ops.shape(l)[-1]
      batch_shape = array_ops.shape(l)[:-2]
      l_inverse = linalg_ops.matrix_triangular_solve(
          l,
          linalg_ops.eye(
              num_rows, batch_shape=batch_shape, dtype=l.dtype
          ),
      )
      return _GradWithInverseL(l, l_inverse, grad)
  
imports: import numpy
  from tensorflow.python.client import session
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import gradient_checker_v2
  from tensorflow.python.ops import linalg_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import stateless_random_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.ops.linalg import linalg
  from tensorflow.python.platform import benchmark
  from tensorflow.python.platform import test
label_desc: Use image node_id 4 for calling a global function with example usage: TriAngInvCompositeGrad(l, grad) and returns: _GradWithInverseL