Hemm¶
Hermitian matrix-matrix multiplication: updates
\(C := \alpha A B + \beta C\), or
\(C := \alpha B A + \beta C\), depending upon whether side is set to
LEFT or RIGHT, respectively. In both of these types of updates,
\(A\) is implicitly Hermitian and only the triangle specified by uplo is
accessed.
Note
For the best performance, A, B, and C should all be in [MC,MR] distributions.
C++ API¶
-
void
Hemm(LeftOrRight side, UpperOrLower uplo, T alpha, const Matrix<T> &A, const Matrix<T> &B, T beta, Matrix<T> &C)¶
-
void
Hemm(LeftOrRight side, UpperOrLower uplo, T alpha, const AbstractDistMatrix<T> &A, const AbstractDistMatrix<T> &B, T beta, AbstractDistMatrix<T> &C)¶
C API¶
-
ElError
ElHemm_c(ElLeftOrRight side, ElUpperOrLower uplo, complex_float alpha, ElConstMatrix_c A, ElConstMatrix_c B, complex_float beta, ElMatrix_c C)¶
-
ElError
ElHemm_z(ElLeftOrRight side, ElUpperOrLower uplo, complex_double alpha, ElConstMatrix_z A, ElConstMatrix_z B, complex_double beta, ElMatrix_z C)¶
-
ElError
ElHemmDist_c(ElLeftOrRight side, ElUpperOrLower uplo, complex_float alpha, ElConstDistMatrix_c A, ElConstDistMatrix_c B, complex_float beta, ElDistMatrix_c C)¶
-
ElError
ElHemmDist_z(ElLeftOrRight side, ElUpperOrLower uplo, complex_double alpha, ElConstDistMatrix_z A, ElConstDistMatrix_z B, complex_double beta, ElDistMatrix_z C)¶
