MAGMA  2.7.1
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages

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

Functions

void magma_csyrk (magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc, magma_queue_t queue)
 Perform symmetric rank-k update. More...
 
void magma_dsyrk (magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, double beta, magmaDouble_ptr dC, magma_int_t lddc, magma_queue_t queue)
 Perform symmetric rank-k update. More...
 
void magma_ssyrk (magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, float alpha, magmaFloat_const_ptr dA, magma_int_t ldda, float beta, magmaFloat_ptr dC, magma_int_t lddc, magma_queue_t queue)
 Perform symmetric rank-k update. More...
 
void magma_zsyrk (magma_uplo_t uplo, magma_trans_t trans, magma_int_t n, magma_int_t k, magmaDoubleComplex alpha, magmaDoubleComplex_const_ptr dA, magma_int_t ldda, magmaDoubleComplex beta, magmaDoubleComplex_ptr dC, magma_int_t lddc, magma_queue_t queue)
 Perform symmetric rank-k update. More...
 

Detailed Description

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

Function Documentation

void magma_csyrk ( magma_uplo_t  uplo,
magma_trans_t  trans,
magma_int_t  n,
magma_int_t  k,
magmaFloatComplex  alpha,
magmaFloatComplex_const_ptr  dA,
magma_int_t  ldda,
magmaFloatComplex  beta,
magmaFloatComplex_ptr  dC,
magma_int_t  lddc,
magma_queue_t  queue 
)

Perform symmetric rank-k update.

\( C = \alpha A A^T + \beta C \) (trans == MagmaNoTrans), or
\( C = \alpha A^T A + \beta C \) (trans == MagmaTrans),
where \( C \) is symmetric.

Parameters
[in]uploWhether the upper or lower triangle of C is referenced.
[in]transOperation to perform on A.
[in]nNumber of rows and columns of C. n >= 0.
[in]kNumber of columns of A (for MagmaNoTrans) or rows of A (for MagmaTrans). k >= 0.
[in]alphaScalar \( \alpha \)
[in]dACOMPLEX array on GPU device. If trans == MagmaNoTrans, the n-by-k matrix A of dimension (ldda,k), ldda >= max(1,n);
otherwise, the k-by-n matrix A of dimension (ldda,n), ldda >= max(1,k).
[in]lddaLeading dimension of dA.
[in]betaScalar \( \beta \)
[in,out]dCCOMPLEX array on GPU device. The n-by-n symmetric matrix C of dimension (lddc,n), lddc >= max(1,n).
[in]lddcLeading dimension of dC.
[in]queuemagma_queue_t Queue to execute in.
void magma_dsyrk ( magma_uplo_t  uplo,
magma_trans_t  trans,
magma_int_t  n,
magma_int_t  k,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
double  beta,
magmaDouble_ptr  dC,
magma_int_t  lddc,
magma_queue_t  queue 
)

Perform symmetric rank-k update.

\( C = \alpha A A^T + \beta C \) (trans == MagmaNoTrans), or
\( C = \alpha A^T A + \beta C \) (trans == MagmaTrans),
where \( C \) is symmetric.

Parameters
[in]uploWhether the upper or lower triangle of C is referenced.
[in]transOperation to perform on A.
[in]nNumber of rows and columns of C. n >= 0.
[in]kNumber of columns of A (for MagmaNoTrans) or rows of A (for MagmaTrans). k >= 0.
[in]alphaScalar \( \alpha \)
[in]dADOUBLE PRECISION array on GPU device. If trans == MagmaNoTrans, the n-by-k matrix A of dimension (ldda,k), ldda >= max(1,n);
otherwise, the k-by-n matrix A of dimension (ldda,n), ldda >= max(1,k).
[in]lddaLeading dimension of dA.
[in]betaScalar \( \beta \)
[in,out]dCDOUBLE PRECISION array on GPU device. The n-by-n symmetric matrix C of dimension (lddc,n), lddc >= max(1,n).
[in]lddcLeading dimension of dC.
[in]queuemagma_queue_t Queue to execute in.
void magma_ssyrk ( magma_uplo_t  uplo,
magma_trans_t  trans,
magma_int_t  n,
magma_int_t  k,
float  alpha,
magmaFloat_const_ptr  dA,
magma_int_t  ldda,
float  beta,
magmaFloat_ptr  dC,
magma_int_t  lddc,
magma_queue_t  queue 
)

Perform symmetric rank-k update.

\( C = \alpha A A^T + \beta C \) (trans == MagmaNoTrans), or
\( C = \alpha A^T A + \beta C \) (trans == MagmaTrans),
where \( C \) is symmetric.

Parameters
[in]uploWhether the upper or lower triangle of C is referenced.
[in]transOperation to perform on A.
[in]nNumber of rows and columns of C. n >= 0.
[in]kNumber of columns of A (for MagmaNoTrans) or rows of A (for MagmaTrans). k >= 0.
[in]alphaScalar \( \alpha \)
[in]dAREAL array on GPU device. If trans == MagmaNoTrans, the n-by-k matrix A of dimension (ldda,k), ldda >= max(1,n);
otherwise, the k-by-n matrix A of dimension (ldda,n), ldda >= max(1,k).
[in]lddaLeading dimension of dA.
[in]betaScalar \( \beta \)
[in,out]dCREAL array on GPU device. The n-by-n symmetric matrix C of dimension (lddc,n), lddc >= max(1,n).
[in]lddcLeading dimension of dC.
[in]queuemagma_queue_t Queue to execute in.
void magma_zsyrk ( magma_uplo_t  uplo,
magma_trans_t  trans,
magma_int_t  n,
magma_int_t  k,
magmaDoubleComplex  alpha,
magmaDoubleComplex_const_ptr  dA,
magma_int_t  ldda,
magmaDoubleComplex  beta,
magmaDoubleComplex_ptr  dC,
magma_int_t  lddc,
magma_queue_t  queue 
)

Perform symmetric rank-k update.

\( C = \alpha A A^T + \beta C \) (trans == MagmaNoTrans), or
\( C = \alpha A^T A + \beta C \) (trans == MagmaTrans),
where \( C \) is symmetric.

Parameters
[in]uploWhether the upper or lower triangle of C is referenced.
[in]transOperation to perform on A.
[in]nNumber of rows and columns of C. n >= 0.
[in]kNumber of columns of A (for MagmaNoTrans) or rows of A (for MagmaTrans). k >= 0.
[in]alphaScalar \( \alpha \)
[in]dACOMPLEX_16 array on GPU device. If trans == MagmaNoTrans, the n-by-k matrix A of dimension (ldda,k), ldda >= max(1,n);
otherwise, the k-by-n matrix A of dimension (ldda,n), ldda >= max(1,k).
[in]lddaLeading dimension of dA.
[in]betaScalar \( \beta \)
[in,out]dCCOMPLEX_16 array on GPU device. The n-by-n symmetric matrix C of dimension (lddc,n), lddc >= max(1,n).
[in]lddcLeading dimension of dC.
[in]queuemagma_queue_t Queue to execute in.