triu_indices

paddle. triu_indices ( row, col=None, offset=0, dtype='int64' ) [源代码]

返回行数和列数已知的二维矩阵中上三角矩阵元素的行列坐标,坐标的顺序首先按照行号排列,其次按照列号排列,所述上三角矩阵为原始矩阵某一对角线右上部分元素的子矩阵。

参数

  • row (int) - 输入 x 是描述矩阵的行数的一个 int 类型数值。

  • col (int,可选) - 输入 x 是描述矩阵的列数的一个 int 类型数值,col 输入默认为 None,此时将 col 设置为 row 的取值,代表输入为正方形矩阵。

  • offset (int,可选) - 确定所要考虑的对角线的位置,默认值为 0。

    • 如果 offset = 0,取主对角线。

    • 如果 offset > 0,取主对角线右上的对角线,所包含的元素减少。

    • 如果 offset < 0,取主对角线左下的对角线,所排除的元素减少。

  • dtype (str|np.dtype|paddle.dtype,可选) - 指定输出张量的数据类型,可以是 int32,int64,默认值为 int64。

返回

Tensor,返回 row*col 大小矩阵的上三角元素的坐标,其中第一行包含行坐标,第二行包含列坐标

代码示例

import paddle
# example 1, default offset value
data1 = paddle.triu_indices(4,4,0)
print(data1)
# [[0, 0, 0, 0, 1, 1, 1, 2, 2, 3],
#  [0, 1, 2, 3, 1, 2, 3, 2, 3, 3]]
# example 2, positive offset value
data2 = paddle.triu_indices(4,4,2)
print(data2)
# [[0, 0, 1],
#  [2, 3, 3]]
# example 3, negative offset value
data3 = paddle.triu_indices(4,4,-1)
print(data3)
# [[0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3],
#  [0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 2, 3]]