当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python mxnet.symbol.linalg.maketrian用法及代码示例


用法:

mxnet.symbol.linalg.maketrian(A=None, offset=_Null, lower=_Null, name=None, attr=None, out=None, **kwargs)

参数

  • A(Symbol) - 存储为向量的三角矩阵张量
  • offset(int, optional, default='0') - 对角线与主对角线的偏移量。 0 对应于主对角线,负/正值对应于主对角线下方/上方的对角线。
  • lower(boolean, optional, default=1) - 如果 lower=true 则参考下三角矩阵,否则参考上三角矩阵。仅在 offset=0 时相关
  • name(string, optional.) - 结果符号的名称。

返回

结果符号。

返回类型

Symbol

构造一个方阵,其输入代表一个特定的三角形sub-matrix。这本质上是 linalg.extracttrian 的倒数。输入是一个张量 A 的维度 n >= 1

如果 n=1 ,则 A 表示三角矩阵的条目,如果 offset<0offset=0lower=true 则为下三角矩阵。生成的矩阵是通过首先构造方阵,将三角形外的条目设置为零,然后将offset-乘以零条目的附加对角线到方阵。

如果 n>1 ,那么 A 代表一批三角形 sub-matrices。这批对应的方阵以 n+1 维张量的形式返回。

注意

该运算符仅支持 float32 和 float64 数据类型。

例子:

Single  matrix construction
A = [1.0, 2.0, 3.0]

maketrian(A)              = [[1.0, 0.0],
                             [2.0, 3.0]]

maketrian(A, lower=false) = [[1.0, 2.0],
                             [0.0, 3.0]]

maketrian(A, offset=1)    = [[0.0, 1.0, 2.0],
                             [0.0, 0.0, 3.0],
                             [0.0, 0.0, 0.0]]
maketrian(A, offset=-1)   = [[0.0, 0.0, 0.0],
                             [1.0, 0.0, 0.0],
                             [2.0, 3.0, 0.0]]

Batch matrix construction
A = [[1.0, 2.0, 3.0],
     [4.0, 5.0, 6.0]]

maketrian(A)           = [[[1.0, 0.0],
                           [2.0, 3.0]],
                          [[4.0, 0.0],
                           [5.0, 6.0]]]

maketrian(A, offset=1) = [[[0.0, 1.0, 2.0],
                           [0.0, 0.0, 3.0],
                           [0.0, 0.0, 0.0]],
                          [[0.0, 4.0, 5.0],
                           [0.0, 0.0, 6.0],
                           [0.0, 0.0, 0.0]]]

相关用法


注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.symbol.linalg.maketrian。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。