code: def test_lll():
      A = Matrix(
          [
              [1, 0, 0, 0, -20160],
              [0, 1, 0, 0, 33768],
              [0, 0, 1, 0, 39578],
              [0, 0, 0, 1, 47757],
          ]
      )
      L = Matrix(
          [
              [10, -3, -2, 8, -4],
              [3, -9, 8, 1, -11],
              [-3, 13, -9, -3, -9],
              [-12, -7, -11, 9, -1],
          ]
      )
      T = Matrix(
          [
              [10, -3, -2, 8],
              [3, -9, 8, 1],
              [-3, 13, -9, -3],
              [-12, -7, -11, 9],
          ]
      )
      assert A.lll() == L
      assert A.lll_transform() == (L, T)
      assert T * A == L
  
imports: from sympy.testing.pytest import raises
  from sympy.matrices.exceptions import NonSquareMatrixError, NonInvertibleMatrixError
  from sympy import Matrix, Rational
label_desc: Use image node_id 1 for calling a global function with example usage: test_lll() without return types