PLASMA
Parallel Linear Algebra Software for Multicore Architectures

\( C = \alpha A B^T + \alpha B A^T + \beta C \) where \( C \) is symmetric More...

Functions

 __attribute__ ((weak))
 

Detailed Description

\( C = \alpha A B^T + \alpha B A^T + \beta C \) where \( C \) is symmetric

Function Documentation

__attribute__ ( (weak)  )

Performs one of the symmetric rank 2k operations

\[ C = \alpha A \times B^T + \alpha B \times A^T + \beta C, \]

or

\[ C = \alpha A^T \times B + \alpha B^T \times A + \beta C, \]

where alpha and beta are scalars, C is an n-by-n symmetric matrix, and A and B are n-by-k matrices in the first case and k-by-n matrices in the second case.

Parameters
[in]uplo
  • PlasmaUpper: Upper triangle of C is stored;
  • PlasmaLower: Lower triangle of C is stored.
[in]trans
  • PlasmaNoTrans:

    \[ C = \alpha A \times B^T + \alpha B \times A^T + \beta C; \]

  • PlasmaTrans:

    \[ C = \alpha A^T \times B + \alpha B^T \times A + \beta C. \]

[in]nThe order of the matrix C. n >= zero.
[in]kIf trans = PlasmaNoTrans, number of columns of the A and B matrices; if trans = PlasmaTrans, number of rows of the A and B matrices.
[in]alphaThe scalar alpha.
[in]AAn lda-by-ka matrix. If trans = PlasmaNoTrans, ka = k; if trans = PlasmaTrans, ka = n.
[in]ldaThe leading dimension of the array A. If trans = PlasmaNoTrans, lda >= max(1, n); if trans = PlasmaTrans, lda >= max(1, k).
[in]BAn ldb-by-kb matrix. If trans = PlasmaNoTrans, kb = k; if trans = PlasmaTrans, kb = n.
[in]ldbThe leading dimension of the array B. If trans = PlasmaNoTrans, ldb >= max(1, n); if trans = PlasmaTrans, ldb >= max(1, k).
[in]betaThe scalar beta.
[in,out]CAn ldc-by-n matrix. On exit, the uplo part of the matrix is overwritten by the uplo part of the updated matrix.
[in]ldcThe leading dimension of the array C. ldc >= max(1, n).