| |
| |
| ``mx.symbol.linalg_trmm`` |
| ================================================== |
| |
| Description |
| ---------------------- |
| |
| Performs multiplication with a lower triangular matrix. |
| Input are tensors *A*, *B*, each of dimension *n >= 2* and having the same shape |
| on the leading *n-2* dimensions. |
| |
| If *n=2*, *A* must be triangular. The operator performs the BLAS3 function |
| *trmm*: |
| |
| *out* = *alpha* \* *op*\ (*A*) \* *B* |
| |
| if *rightside=False*, or |
| |
| *out* = *alpha* \* *B* \* *op*\ (*A*) |
| |
| if *rightside=True*. Here, *alpha* is a scalar parameter, and *op()* is either the |
| identity or the matrix transposition (depending on *transpose*). |
| |
| If *n>2*, *trmm* is performed separately on the trailing two dimensions for all inputs |
| (batch mode). |
| |
| |
| .. note:: The operator supports float32 and float64 data types only. |
| |
| |
| **Example**:: |
| |
| |
| Single triangular matrix multiply |
| A = [[1.0, 0], [1.0, 1.0]] |
| B = [[1.0, 1.0, 1.0], [1.0, 1.0, 1.0]] |
| trmm(A, B, alpha=2.0) = [[2.0, 2.0, 2.0], [4.0, 4.0, 4.0]] |
| |
| Batch triangular matrix multiply |
| A = [[[1.0, 0], [1.0, 1.0]], [[1.0, 0], [1.0, 1.0]]] |
| B = [[[1.0, 1.0, 1.0], [1.0, 1.0, 1.0]], [[0.5, 0.5, 0.5], [0.5, 0.5, 0.5]]] |
| trmm(A, B, alpha=2.0) = [[[2.0, 2.0, 2.0], [4.0, 4.0, 4.0]], |
| [[1.0, 1.0, 1.0], [2.0, 2.0, 2.0]]] |
| |
| |
| |
| Usage |
| ---------- |
| |
| .. code:: r |
| |
| mx.symbol.linalg_trmm(...) |
| |
| Arguments |
| ------------------ |
| |
| +----------------------------------------+------------------------------------------------------------+ |
| | Argument | Description | |
| +========================================+============================================================+ |
| | ``A`` | NDArray-or-Symbol. | |
| | | | |
| | | Tensor of lower triangular matrices | |
| +----------------------------------------+------------------------------------------------------------+ |
| | ``B`` | NDArray-or-Symbol. | |
| | | | |
| | | Tensor of matrices | |
| +----------------------------------------+------------------------------------------------------------+ |
| | ``transpose`` | boolean, optional, default=0. | |
| | | | |
| | | Use transposed of the triangular matrix | |
| +----------------------------------------+------------------------------------------------------------+ |
| | ``rightside`` | boolean, optional, default=0. | |
| | | | |
| | | Multiply triangular matrix from the right to | |
| | | non-triangular | |
| | | one. | |
| +----------------------------------------+------------------------------------------------------------+ |
| | ``lower`` | boolean, optional, default=1. | |
| | | | |
| | | True if the triangular matrix is lower triangular, false | |
| | | if it is upper | |
| | | triangular. | |
| +----------------------------------------+------------------------------------------------------------+ |
| | ``alpha`` | double, optional, default=1. | |
| | | | |
| | | Scalar factor to be applied to the result. | |
| +----------------------------------------+------------------------------------------------------------+ |
| | ``name`` | string, optional. | |
| | | | |
| | | Name of the resulting symbol. | |
| +----------------------------------------+------------------------------------------------------------+ |
| |
| Value |
| ---------- |
| |
| ``out`` The result mx.symbol |
| |
| |
| Link to Source Code: http://github.com/apache/incubator-mxnet/blob/1.6.0/src/operator/tensor/la_op.cc#L333 |
| |