PLASMA
2.8.0
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
|
int PLASMA_cher2k | ( | PLASMA_enum | uplo, |
PLASMA_enum | trans, | ||
int | N, | ||
int | K, | ||
PLASMA_Complex32_t | alpha, | ||
PLASMA_Complex32_t * | A, | ||
int | LDA, | ||
PLASMA_Complex32_t * | B, | ||
int | LDB, | ||
float | beta, | ||
PLASMA_Complex32_t * | C, | ||
int | LDC | ||
) |
PLASMA_cher2k - Performs one of the hermitian rank 2k operations
\[ C = \alpha [ op( A ) \times conjfg( op( B )' )] + conjfg( \alpha ) [ op( B ) \times conjfg( op( A )' )] + \beta C \]
, or
\[ C = \alpha [ conjfg( op( A )' ) \times op( B ) ] + conjfg( \alpha ) [ conjfg( op( B )' ) \times op( A ) ] + \beta C \]
,
where op( X ) is one of
op( X ) = X or op( X ) = conjfg( X' )
where alpha and beta are real scalars, C is an n-by-n symmetric matrix and A and B are an n-by-k matrices the first case and k-by-n matrices in the second case.
[in] | uplo | = PlasmaUpper: Upper triangle of C is stored; = PlasmaLower: Lower triangle of C is stored. |
[in] | trans | Specifies whether the matrix A is transposed or conjfugate transposed: = PlasmaNoTrans: \[ C = \alpha [ op( A ) \times conjfg( op( B )' )] + conjfg( \alpha ) [ op( B ) \times conjfg( op( A )' )] + \beta C \] = PlasmaConjTrans:\[ C = \alpha [ conjfg( op( A )' ) \times op( B ) ] + conjfg( \alpha ) [ conjfg( op( B )' ) \times op( A ) ] + \beta C \] |
[in] | N | N specifies the order of the matrix C. N must be at least zero. |
[in] | K | K specifies the number of columns of the A and B matrices with trans = PlasmaNoTrans. K specifies the number of rows of the A and B matrices with trans = PlasmaTrans. |
[in] | alpha | alpha specifies the scalar alpha. |
[in] | A | A is a LDA-by-ka matrix, where ka is K when trans = PlasmaNoTrans, and is N otherwise. |
[in] | LDA | The leading dimension of the array A. LDA must be at least max( 1, N ), otherwise LDA must be at least max( 1, K ). |
[in] | B | B is a LDB-by-kb matrix, where kb is K when trans = PlasmaNoTrans, and is N otherwise. |
[in] | LDB | The leading dimension of the array B. LDB must be at least max( 1, N ), otherwise LDB must be at least max( 1, K ). |
[in] | beta | beta specifies the scalar beta. |
[in,out] | C | C is a LDC-by-N matrix. On exit, the array uplo part of the matrix is overwritten by the uplo part of the updated matrix. |
[in] | LDC | The leading dimension of the array C. LDC >= max( 1, N ). |
PLASMA_SUCCESS | successful exit |