torch.triu#
- torch.triu(input,diagonal=0,*,out=None)→Tensor#
Returns the upper triangular part of a matrix (2-D tensor) or batch of matrices
input, the other elements of the result tensoroutare set to 0.The upper triangular part of the matrix is defined as the elements on andabove the diagonal.
The argument
diagonalcontrols which diagonal to consider. Ifdiagonal= 0, all elements on and above the main diagonal areretained. A positive value excludes just as many diagonals above the maindiagonal, and similarly a negative value includes just as many diagonals belowthe main diagonal. The main diagonal are the set of indices for where are the dimensions of the matrix.- Parameters
- Keyword Arguments
out (Tensor,optional) – the output tensor.
Example:
>>>a=torch.randn(3,3)>>>atensor([[ 0.2309, 0.5207, 2.0049], [ 0.2072, -1.0680, 0.6602], [ 0.3480, -0.5211, -0.4573]])>>>torch.triu(a)tensor([[ 0.2309, 0.5207, 2.0049], [ 0.0000, -1.0680, 0.6602], [ 0.0000, 0.0000, -0.4573]])>>>torch.triu(a,diagonal=1)tensor([[ 0.0000, 0.5207, 2.0049], [ 0.0000, 0.0000, 0.6602], [ 0.0000, 0.0000, 0.0000]])>>>torch.triu(a,diagonal=-1)tensor([[ 0.2309, 0.5207, 2.0049], [ 0.2072, -1.0680, 0.6602], [ 0.0000, -0.5211, -0.4573]])>>>b=torch.randn(4,6)>>>btensor([[ 0.5876, -0.0794, -1.8373, 0.6654, 0.2604, 1.5235], [-0.2447, 0.9556, -1.2919, 1.3378, -0.1768, -1.0857], [ 0.4333, 0.3146, 0.6576, -1.0432, 0.9348, -0.4410], [-0.9888, 1.0679, -1.3337, -1.6556, 0.4798, 0.2830]])>>>torch.triu(b,diagonal=1)tensor([[ 0.0000, -0.0794, -1.8373, 0.6654, 0.2604, 1.5235], [ 0.0000, 0.0000, -1.2919, 1.3378, -0.1768, -1.0857], [ 0.0000, 0.0000, 0.0000, -1.0432, 0.9348, -0.4410], [ 0.0000, 0.0000, 0.0000, 0.0000, 0.4798, 0.2830]])>>>torch.triu(b,diagonal=-1)tensor([[ 0.5876, -0.0794, -1.8373, 0.6654, 0.2604, 1.5235], [-0.2447, 0.9556, -1.2919, 1.3378, -0.1768, -1.0857], [ 0.0000, 0.3146, 0.6576, -1.0432, 0.9348, -0.4410], [ 0.0000, 0.0000, -1.3337, -1.6556, 0.4798, 0.2830]])