tril¶
- paddle. tril ( x, diagonal=0, name=None ) [source]
-
This op returns the lower triangular part of a matrix (2-D tensor) or batch of matrices
x, the other elements of the result tensor are set to 0. The lower triangular part of the matrix is defined as the elements on and below the diagonal.- Parameters
-
x (Tensor) – The input x which is a Tensor. Support data types:
bool,float64,float32,int32,int64.diagonal (int, optional) – The diagonal to consider, default value is 0. If
diagonal= 0, all elements on and below the main diagonal are retained. A positive value includes just as many diagonals above the main diagonal, and similarly a negative value excludes just as many diagonals below the main diagonal. The main diagonal are the set of indices \(\{(i, i)\}\) for \(i \in [0, \min\{d_{1}, d_{2}\} - 1]\) where \(d_{1}, d_{2}\) are the dimensions of the matrix.name (str, optional) – The default value is None. Normally there is no need for user to set this property. For more information, please refer to Name.
- Returns
-
Results of lower triangular operation by the specified diagonal of input tensor x, it’s data type is the same as x’s Tensor.
- Return type
-
Tensor
- Raises
-
TypeError – diagonal is not a int type.
ValueError – dimension of
xis less than 2.
Examples
import numpy as np import paddle data = np.arange(1, 13, dtype="int64").reshape(3,-1) # array([[ 1, 2, 3, 4], # [ 5, 6, 7, 8], # [ 9, 10, 11, 12]]) x = paddle.to_tensor(data) tril1 = paddle.tensor.tril(x) # array([[ 1, 0, 0, 0], # [ 5, 6, 0, 0], # [ 9, 10, 11, 0]]) # example 2, positive diagonal value tril2 = paddle.tensor.tril(x, diagonal=2) # array([[ 1, 2, 3, 0], # [ 5, 6, 7, 8], # [ 9, 10, 11, 12]]) # example 3, negative diagonal value tril3 = paddle.tensor.tril(x, diagonal=-1) # array([[ 0, 0, 0, 0], # [ 5, 0, 0, 0], # [ 9, 10, 0, 0]])
