Loading...
Searching...
No Matches
syrk: Symmetric rank k update
Dense LA » MAGMA BLAS and Auxiliary » Level 3: matrix-matrix operations, O(n^3) work

\(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.
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.
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.
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.

## Detailed Description

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

## Function Documentation

## magma_csyrk()

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] | uplo | Whether the upper or lower triangle of C is referenced.
  [in] | trans | Operation to perform on A.
  [in] | n | Number of rows and columns of C. n >= 0.
  [in] | k | Number of columns of A (for MagmaNoTrans) or rows of A (for MagmaTrans). k >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | COMPLEX 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] | ldda | Leading dimension of dA.
  [in] | beta | Scalar \( \beta \)
  [in,out] | dC | COMPLEX array on GPU device. The n-by-n symmetric matrix C of dimension (lddc,n), lddc >= max(1,n).
  [in] | lddc | Leading dimension of dC.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dsyrk()

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] | uplo | Whether the upper or lower triangle of C is referenced.
  [in] | trans | Operation to perform on A.
  [in] | n | Number of rows and columns of C. n >= 0.
  [in] | k | Number of columns of A (for MagmaNoTrans) or rows of A (for MagmaTrans). k >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | DOUBLE 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] | ldda | Leading dimension of dA.
  [in] | beta | Scalar \( \beta \)
  [in,out] | dC | DOUBLE PRECISION array on GPU device. The n-by-n symmetric matrix C of dimension (lddc,n), lddc >= max(1,n).
  [in] | lddc | Leading dimension of dC.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ssyrk()

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] | uplo | Whether the upper or lower triangle of C is referenced.
  [in] | trans | Operation to perform on A.
  [in] | n | Number of rows and columns of C. n >= 0.
  [in] | k | Number of columns of A (for MagmaNoTrans) or rows of A (for MagmaTrans). k >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | REAL 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] | ldda | Leading dimension of dA.
  [in] | beta | Scalar \( \beta \)
  [in,out] | dC | REAL array on GPU device. The n-by-n symmetric matrix C of dimension (lddc,n), lddc >= max(1,n).
  [in] | lddc | Leading dimension of dC.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_zsyrk()

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] | uplo | Whether the upper or lower triangle of C is referenced.
  [in] | trans | Operation to perform on A.
  [in] | n | Number of rows and columns of C. n >= 0.
  [in] | k | Number of columns of A (for MagmaNoTrans) or rows of A (for MagmaTrans). k >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | COMPLEX_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] | ldda | Leading dimension of dA.
  [in] | beta | Scalar \( \beta \)
  [in,out] | dC | COMPLEX_16 array on GPU device. The n-by-n symmetric matrix C of dimension (lddc,n), lddc >= max(1,n).
  [in] | lddc | Leading dimension of dC.
  [in] | queue | magma_queue_t Queue to execute in.