class_docstr: Most tests done in the base class LinearOperatorDerivedClassTest.
class_docstr_tok: ["Most","tests","done","in","the","base","class","LinearOperatorDerivedClassTest","."]
code: def test_llt_composition_with_non_pd_l(self):
      # The tril matrix here is selected so that multiplying the rows by the sign
      # (the correct thing to do) is different than multiplying the columns.
      l = linalg_lib.LinearOperatorLowerTriangular(
          [[-1.0, 0.0, 0.0], [0.5, 0.2, 0.0], [0.1, 0.1, 1.0]],
          is_non_singular=True,
      )
      llt = l @ l.H
      chol = llt.cholesky()
      self.assertIsInstance(
          chol, linalg_lib.LinearOperatorLowerTriangular
      )
      self.assertGreater(self.evaluate(chol.diag_part()).min(), 0)
      self.assertAllClose(
          self.evaluate(llt.to_dense()),
          self.evaluate((chol @ chol.H).to_dense()),
      )
  
imports: from tensorflow.python.framework import config
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.ops.linalg import linalg
  from tensorflow.python.ops.linalg import linear_operator_test_util
  from tensorflow.python.platform import test
label_desc: Use image node_id 10 for calling the LinearOperatorLowerTriangularTest obj's underlying member method code with example usage: obj.test_llt_composition_with_non_pd_l() without return types