### tril -- Return the lower triangle

        call a%tril(l,info[,&
           & diag,imin,imax,jmin,jmax,rscale,cscale,u])

Returns the lower triangular part of submatrix `A(imin:imax,jmin:jmax)`, optionally rescaling row/col indices to the range `1:imax-imin+1,1:jmax-jmin+1` and returing the complementary upper triangle.

Type:
  Asynchronous.
On Entry
a
  the sparse matrix.
  A variable of type `psb_Tspmat_type`.
  Scope: local.
diag
  Include diagonals up to this one; `diag=1` means the first superdiagonal, `diag=-1` means the first subdiagonal. Default 0.
imin,imax,jmin,jmax
  Minimum and maximum row and column indices.
  Type: optional.
rscale,cscale
  Whether to rescale row/column indices. Type: optional.

On Return
l
  A copy of the lower triangle of `a`.
  A variable of type `psb_Tspmat_type`.
u
  (optional) A copy of the upper triangle of `a`.
  A variable of type `psb_Tspmat_type`.
info
  Return code.