|
SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
|
\(B = \alpha A B\) or \(B = \alpha B A\) where \(A\) is triangular More...
Functions | |
| template<typename scalar_t > | |
| void | slate::trmm (blas::Side side, scalar_t alpha, TriangularMatrix< scalar_t > &A, Matrix< scalar_t > &B, Options const &opts) |
| Distributed parallel triangular matrix-matrix multiplication. | |
\(B = \alpha A B\) or \(B = \alpha B A\) where \(A\) is triangular
| void slate::trmm | ( | blas::Side | side, |
| scalar_t | alpha, | ||
| TriangularMatrix< scalar_t > & | A, | ||
| Matrix< scalar_t > & | B, | ||
| Options const & | opts | ||
| ) |
Distributed parallel triangular matrix-matrix multiplication.
Performs one of the triangular matrix-matrix operations
\[ B = \alpha A B, \]
or
\[ B = \alpha B A, \]
where alpha is a scalar, B is an m-by-n matrix and A is a unit or non-unit, upper or lower triangular matrix. The matrices can be transposed or conjugate-transposed beforehand, e.g.,
auto AT = slate::transpose( A ); slate::trmm( Side::Left, alpha, AT, B );
Complexity (in real): \(m^{2} n\) flops.
| scalar_t | One of float, double, std::complex<float>, std::complex<double>. |
| [in] | side | Whether A appears on the left or on the right of B:
|
| [in] | alpha | The scalar alpha. |
| [in] | A |
|
| [in,out] | B | On entry, the m-by-n matrix B. On exit, overwritten by the result \(\alpha A B\) or \(\alpha B A\). |
| [in] | opts | Additional options, as map of name = value pairs. Possible options:
|