SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
|
\(C = A^{-1} B\) or \(C = B A^{-1}\) where \(A\) is band triangular More...
Functions | |
template<typename scalar_t > | |
void | slate::tbsm (Side side, scalar_t alpha, TriangularBandMatrix< scalar_t > &A, Matrix< scalar_t > &B, Options const &opts) |
Distributed parallel triangular band matrix-matrix solve. | |
template<typename scalar_t > | |
void | slate::tbsm (blas::Side side, scalar_t alpha, TriangularBandMatrix< scalar_t > &A, Pivots &pivots, Matrix< scalar_t > &B, Options const &opts) |
Distributed parallel triangular band matrix-matrix solve. | |
\(C = A^{-1} B\) or \(C = B A^{-1}\) where \(A\) is band triangular
void slate::tbsm | ( | blas::Side | side, |
scalar_t | alpha, | ||
TriangularBandMatrix< scalar_t > & | A, | ||
Pivots & | pivots, | ||
Matrix< scalar_t > & | B, | ||
Options const & | opts | ||
) |
Distributed parallel triangular band matrix-matrix solve.
Solves one of the triangular matrix equations
\[ A X = \alpha B, \]
or
\[ X A = \alpha B, \]
where alpha is a scalar, B is an m-by-n matrix and A is a unit or non-unit, upper or lower triangular band matrix. The matrix X overwrites B. Pivoting from tbtrf is applied during the solve. The matrices can be transposed or conjugate-transposed beforehand, e.g.,
auto AT = slate::transpose( A ); slate::tbsm( Side::Left, alpha, AT, pivots, B );
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 X:
|
[in] | alpha | The scalar alpha. |
[in] | A |
|
[in] | pivots | Pivot information from gbtrf. If pivots is an empty vector, no pivoting is applied. |
[in,out] | B | On entry, the m-by-n matrix B. On exit, overwritten by the result X. |
[in] | opts | Additional options, as map of name = value pairs. Possible options:
|
void slate::tbsm | ( | Side | side, |
scalar_t | alpha, | ||
TriangularBandMatrix< scalar_t > & | A, | ||
Matrix< scalar_t > & | B, | ||
Options const & | opts | ||
) |
Distributed parallel triangular band matrix-matrix solve.
Solves one of the triangular matrix equations
\[ A X = \alpha B, \]
or
\[ X A = \alpha B, \]
where alpha is a scalar, B is an m-by-n matrix and A is a unit or non-unit, upper or lower triangular band matrix. The matrix X overwrites B. Pivoting from tbtrf is applied during the solve. The matrices can be transposed or conjugate-transposed beforehand, e.g.,
auto AT = slate::transpose( A ); slate::tbsm( Side::Left, alpha, AT, B );
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 X:
|
[in] | alpha | The scalar alpha. |
[in] | A |
|
[in,out] | B | On entry, the m-by-n matrix B. On exit, overwritten by the result X. |
[in] | opts | Additional options, as map of name = value pairs. Possible options:
|