SciPy

scipy.sparse.tril

scipy.sparse.tril(A, k=0, format=None)[source]

Return the lower triangular portion of a matrix in sparse format

Returns the elements on or below the k-th diagonal of the matrix A.
  • k = 0 corresponds to the main diagonal
  • k > 0 is above the main diagonal
  • k < 0 is below the main diagonal
Parameters:

A : dense or sparse matrix

Matrix whose lower trianglar portion is desired.

k : integer

The top-most diagonal of the lower triangle.

format : string

Sparse format of the result, e.g. format=”csr”, etc.

Returns:

L : sparse matrix

Lower triangular portion of A in sparse format.

See also

triu
upper triangle in sparse format

Examples

>>> from scipy.sparse import csr_matrix
>>> A = csr_matrix( [[1,2,0,0,3],[4,5,0,6,7],[0,0,8,9,0]], dtype='int32' )
>>> A.todense()
matrix([[1, 2, 0, 0, 3],
        [4, 5, 0, 6, 7],
        [0, 0, 8, 9, 0]])
>>> tril(A).todense()
matrix([[1, 0, 0, 0, 0],
        [4, 5, 0, 0, 0],
        [0, 0, 8, 0, 0]])
>>> tril(A).nnz
4
>>> tril(A, k=1).todense()
matrix([[1, 2, 0, 0, 0],
        [4, 5, 0, 0, 0],
        [0, 0, 8, 9, 0]])
>>> tril(A, k=-1).todense()
matrix([[0, 0, 0, 0, 0],
        [4, 0, 0, 0, 0],
        [0, 0, 0, 0, 0]])
>>> tril(A, format='csc')
<3x5 sparse matrix of type '<type 'numpy.int32'>'
        with 4 stored elements in Compressed Sparse Column format>

Previous topic

scipy.sparse.block_diag

Next topic

scipy.sparse.triu