Trrk¶
Triangular rank-k update: performs \(C := \alpha A^\# B^\sharp + \beta C\), where only the triangle of C specified by uplo is modified, and the orientations \(A^\#\) and \(B^\sharp\) are determined by orientationOfA and orientationOfB, respectively.
Note
There is no corresponding BLAS routine, but this type of update is frequently encountered, even in serial. For instance, the symmetric rank-k update performed during an LDL factorization is symmetric but one of the two update matrices is scaled by D.
Note
For the best performance, A, B, and C should all be in [MC,MR] distributions.
C++ API¶
-
void
Trrk
(UpperOrLower uplo, Orientation orientationOfA, Orientation orientationOfB, T alpha, const Matrix<T> &A, const Matrix<T> &B, T beta, Matrix<T> &C)¶
-
void
Trrk
(UpperOrLower uplo, Orientation orientationOfA, Orientation orientationOfB, T alpha, const AbstractDistMatrix<T> &A, const AbstractDistMatrix<T> &B, T beta, AbstractDistMatrix<T> &C)¶
C API¶
-
ElError
ElTrrk_s
(ElUpperOrLower uplo, ElOrientation orientA, ElOrientation orientB, float alpha, ElConstMatrix_s A, ElConstMatrix_s B, float beta, ElMatrix_s C)¶
-
ElError
ElTrrk_d
(ElUpperOrLower uplo, ElOrientation orientA, ElOrientation orientB, double alpha, ElConstMatrix_d A, ElConstMatrix_d B, double beta, ElMatrix_d C)¶
-
ElError
ElTrrk_c
(ElUpperOrLower uplo, ElOrientation orientA, ElOrientation orientB, complex_float alpha, ElConstMatrix_c A, ElConstMatrix_c B, complex_float beta, ElMatrix_c C)¶
-
ElError
ElTrrk_z
(ElUpperOrLower uplo, ElOrientation orientA, ElOrientation orientB, complex_double alpha, ElConstMatrix_z A, ElConstMatrix_z B, complex_double beta, ElMatrix_z C)¶
-
ElError
ElTrrkDist_s
(ElUpperOrLower uplo, ElOrientation orientA, ElOrientation orientB, float alpha, ElConstDistMatrix_s A, ElConstDistMatrix_s B, float beta, ElDistMatrix_s C)¶
-
ElError
ElTrrkDist_d
(ElUpperOrLower uplo, ElOrientation orientA, ElOrientation orientB, double alpha, ElConstDistMatrix_d A, ElConstDistMatrix_d B, double beta, ElDistMatrix_d C)¶
-
ElError
ElTrrkDist_c
(ElUpperOrLower uplo, ElOrientation orientA, ElOrientation orientB, complex_float alpha, ElConstDistMatrix_c A, ElConstDistMatrix_c B, complex_float beta, ElDistMatrix_c C)¶
-
ElError
ElTrrkDist_z
(ElUpperOrLower uplo, ElOrientation orientA, ElOrientation orientB, complex_double alpha, ElConstDistMatrix_z A, ElConstDistMatrix_z B, complex_double beta, ElDistMatrix_z C)¶