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


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


用法:

mxnet.symbol.linalg.trsm(A=None, B=None, transpose=_Null, rightside=_Null, lower=_Null, alpha=_Null, name=None, attr=None, out=None, **kwargs)

参数

  • A(Symbol) - 下三角矩阵的张量
  • B(Symbol) - 矩阵张量
  • transpose(boolean, optional, default=0) - 使用转置的三角矩阵
  • rightside(boolean, optional, default=0) - 将三角矩阵从右边乘以非三角矩阵。
  • lower(boolean, optional, default=1) - 如果三角矩阵是下三角矩阵,则为真,如果是上三角矩阵,则为假。
  • alpha(double, optional, default=1) - 应用于结果的标量因子。
  • name(string, optional.) - 结果符号的名称。

返回

结果符号。

返回类型

Symbol

求解涉及下三角矩阵的矩阵方程。输入是张量 AB ,每个维度 n >= 2 并且在前导 n-2 维度上具有相同的形状。

如果 n=2A 必须是三角形的。运算符执行 BLAS3 函数 trsm ,求解 out 在:

op(A) * out = alpha * B

如果 rightside=False ,或

out * op(A) = alpha * B

如果 rightside=True 。这里,alpha 是一个标量参数,op() 是单位或矩阵转置(取决于 transpose )。

如果 n>2trsm 对所有输入的尾随两个维度分别执行(批处理模式)。

注意

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

例子:

Single matrix solve
A = [[1.0, 0], [1.0, 1.0]]
B = [[2.0, 2.0, 2.0], [4.0, 4.0, 4.0]]
trsm(A, B, alpha=0.5) = [[1.0, 1.0, 1.0], [1.0, 1.0, 1.0]]

Batch matrix solve
A = [[[1.0, 0], [1.0, 1.0]], [[1.0, 0], [1.0, 1.0]]]
B = [[[2.0, 2.0, 2.0], [4.0, 4.0, 4.0]],
     [[4.0, 4.0, 4.0], [8.0, 8.0, 8.0]]]
trsm(A, B, alpha=0.5) = [[[1.0, 1.0, 1.0], [1.0, 1.0, 1.0]],
                         [[2.0, 2.0, 2.0], [2.0, 2.0, 2.0]]]

相关用法


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