當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python mxnet.ndarray.op.linalg_trsm用法及代碼示例


用法:

mxnet.ndarray.op.linalg_trsm(A=None, B=None, transpose=_Null, rightside=_Null, lower=_Null, alpha=_Null, out=None, name=None, **kwargs)

參數

  • A(NDArray) - 下三角矩陣的張量
  • B(NDArray) - 矩陣張量
  • transpose(boolean, optional, default=0) - 使用轉置的三角矩陣
  • rightside(boolean, optional, default=0) - 將三角矩陣從右邊乘以非三角矩陣。
  • lower(boolean, optional, default=1) - 如果三角矩陣是下三角矩陣,則為真,如果是上三角矩陣,則為假。
  • alpha(double, optional, default=1) - 應用於結果的標量因子。
  • out(NDArray, optional) - 輸出 NDArray 來保存結果。

返回

out- 此函數的輸出。

返回類型

NDArray 或 NDArray 列表

求解涉及下三角矩陣的矩陣方程。輸入是張量 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.ndarray.op.linalg_trsm。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。