SLATE 2024.05.31
Software for Linear Algebra Targeting Exascale
|
\(C = \alpha A A^H + \beta C\) where \(C\) is Hermitian More...
Functions | |
template<typename scalar_t > | |
void | slate::herk (blas::real_type< scalar_t > alpha, Matrix< scalar_t > &A, blas::real_type< scalar_t > beta, HermitianMatrix< scalar_t > &C, Options const &opts) |
Distributed parallel Hermitian rank k update. | |
\(C = \alpha A A^H + \beta C\) where \(C\) is Hermitian
void slate::herk | ( | blas::real_type< scalar_t > | alpha, |
Matrix< scalar_t > & | A, | ||
blas::real_type< scalar_t > | beta, | ||
HermitianMatrix< scalar_t > & | C, | ||
Options const & | opts | ||
) |
Distributed parallel Hermitian rank k update.
Performs the Hermitian rank k operation
\[ C = \alpha A A^H + \beta C, \]
where alpha and beta are scalars, C is an n-by-n Hermitian matrix, and A is an n-by-k matrix. The matrices can be conjugate-transposed beforehand, e.g.,
auto AT = slate::conj_transpose( A ); slate::herk( alpha, AT, beta, C );
Complexity (in real): \(\approx k n^{2}\) flops.
scalar_t | One of float, double, std::complex<float>, std::complex<double>. |
[in] | alpha | The real scalar alpha. |
[in] | A | The n-by-k matrix A. |
[in] | beta | The real scalar beta. |
[in,out] | C | On entry, the n-by-n Hermitian matrix C. On exit, overwritten by the result \(C = \alpha A A^H + \beta C\). |
[in] | opts | Additional options, as map of name = value pairs. Possible options:
|