# numpy.tril

numpy.tril(m, k=0)

  Lower triangle of an array.

  Return a copy of an array with elements above the k-th diagonal zeroed. For arrays with `ndim` exceeding 2, `tril` will apply to the final two axes.

  Parameters:
    m array_like, shape (…, M, N)

      Input array.

    k int, optional

      Diagonal above which to zero elements. k = 0 (the default) is the main diagonal, k < 0 is below it and k > 0 is above.

  Returns:
    tril ndarray, shape (…, M, N)

      Lower triangle of m, of same shape and data-type as m.

  See also

  `triu`

    same thing, only for the upper triangle

  Examples

      >>> np.tril([[1,2,3],[4,5,6],[7,8,9],[10,11,12]], -1)
      array([[ 0,  0,  0],
             [ 4,  0,  0],
             [ 7,  8,  0],
             [10, 11, 12]])

      >>> np.tril(np.arange(3*4*5).reshape(3, 4, 5))
      array([[[ 0,  0,  0,  0,  0],
              [ 5,  6,  0,  0,  0],
              [10, 11, 12,  0,  0],
              [15, 16, 17, 18,  0]],
             [[20,  0,  0,  0,  0],
              [25, 26,  0,  0,  0],
              [30, 31, 32,  0,  0],
              [35, 36, 37, 38,  0]],
             [[40,  0,  0,  0,  0],
              [45, 46,  0,  0,  0],
              [50, 51, 52,  0,  0],
              [55, 56, 57, 58,  0]]])