code: def check_lower_triangular(pd, ch_f):
      ch = ch_f(pd)
      assert ch[0, pd.shape[1] - 1] == 0
      assert ch[pd.shape[0] - 1, 0] != 0
      assert np.allclose(np.dot(ch, ch.T), pd)
      assert not np.allclose(np.dot(ch.T, ch), pd)
  
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  import numpy.linalg
  from numpy.testing import assert_array_almost_equal
  from numpy.testing import dec, assert_array_equal, assert_allclose
  from numpy import inf
  import itertools
  import theano
  from theano import tensor, function, grad
  from theano.tensor.basic import _allclose
  from theano.tests.test_rop import break_op
  from theano.tests import unittest_tools
  from theano import config
  from theano.tensor.slinalg import Cholesky, cholesky, CholeskyGrad, Solve, solve, Eigvalsh, EigvalshGrad, eigvalsh, expm, kron
  from theano.tests.unittest_tools import attr
  from nose.plugins.skip import SkipTest
  from nose.tools import assert_raises
label_desc: Use image node_id 1 for calling a global function with example usage: check_lower_triangular(pd, ch_f) without return types