MAGMA  2.3.0
Matrix Algebra for GPU and Multicore Architectures
 All Classes Files Functions Friends Groups Pages
symm: Symmetric matrix multiply

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

Functions

void magma_csymm (magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaFloatComplex alpha, magmaFloatComplex_const_ptr dA, magma_int_t ldda, magmaFloatComplex_const_ptr dB, magma_int_t lddb, magmaFloatComplex beta, magmaFloatComplex_ptr dC, magma_int_t lddc, magma_queue_t queue)
 Perform symmetric matrix-matrix product. More...
 
void magma_dsymm (magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, double alpha, magmaDouble_const_ptr dA, magma_int_t ldda, magmaDouble_const_ptr dB, magma_int_t lddb, double beta, magmaDouble_ptr dC, magma_int_t lddc, magma_queue_t queue)
 Perform symmetric matrix-matrix product. More...
 
void magma_ssymm (magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, float alpha, magmaFloat_const_ptr dA, magma_int_t ldda, magmaFloat_const_ptr dB, magma_int_t lddb, float beta, magmaFloat_ptr dC, magma_int_t lddc, magma_queue_t queue)
 Perform symmetric matrix-matrix product. More...
 
void magma_zsymm (magma_side_t side, magma_uplo_t uplo, magma_int_t m, magma_int_t n, magmaDoubleComplex alpha, magmaDoubleComplex_const_ptr dA, magma_int_t ldda, magmaDoubleComplex_const_ptr dB, magma_int_t lddb, magmaDoubleComplex beta, magmaDoubleComplex_ptr dC, magma_int_t lddc, magma_queue_t queue)
 Perform symmetric matrix-matrix product. More...
 

Detailed Description

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

Function Documentation

void magma_csymm ( magma_side_t  side,
magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
magmaFloatComplex  alpha,
magmaFloatComplex_const_ptr  dA,
magma_int_t  ldda,
magmaFloatComplex_const_ptr  dB,
magma_int_t  lddb,
magmaFloatComplex  beta,
magmaFloatComplex_ptr  dC,
magma_int_t  lddc,
magma_queue_t  queue 
)

Perform symmetric matrix-matrix product.

\( C = \alpha A B + \beta C \) (side == MagmaLeft), or
\( C = \alpha B A + \beta C \) (side == MagmaRight),
where \( A \) is symmetric.

Parameters
[in]sideWhether A is on the left or right.
[in]uploWhether the upper or lower triangle of A is referenced.
[in]mNumber of rows of C. m >= 0.
[in]nNumber of columns of C. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dACOMPLEX array on GPU device. If side == MagmaLeft, the m-by-m symmetric matrix A of dimension (ldda,m), ldda >= max(1,m);
otherwise, the n-by-n symmetric matrix A of dimension (ldda,n), ldda >= max(1,n).
[in]lddaLeading dimension of dA.
[in]dBCOMPLEX array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
[in]lddbLeading dimension of dB.
[in]betaScalar \( \beta \)
[in,out]dCCOMPLEX array on GPU device. The m-by-n matrix C of dimension (lddc,n), lddc >= max(1,m).
[in]lddcLeading dimension of dC.
[in]queuemagma_queue_t Queue to execute in.
void magma_dsymm ( magma_side_t  side,
magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
double  alpha,
magmaDouble_const_ptr  dA,
magma_int_t  ldda,
magmaDouble_const_ptr  dB,
magma_int_t  lddb,
double  beta,
magmaDouble_ptr  dC,
magma_int_t  lddc,
magma_queue_t  queue 
)

Perform symmetric matrix-matrix product.

\( C = \alpha A B + \beta C \) (side == MagmaLeft), or
\( C = \alpha B A + \beta C \) (side == MagmaRight),
where \( A \) is symmetric.

Parameters
[in]sideWhether A is on the left or right.
[in]uploWhether the upper or lower triangle of A is referenced.
[in]mNumber of rows of C. m >= 0.
[in]nNumber of columns of C. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dADOUBLE PRECISION array on GPU device. If side == MagmaLeft, the m-by-m symmetric matrix A of dimension (ldda,m), ldda >= max(1,m);
otherwise, the n-by-n symmetric matrix A of dimension (ldda,n), ldda >= max(1,n).
[in]lddaLeading dimension of dA.
[in]dBDOUBLE PRECISION array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
[in]lddbLeading dimension of dB.
[in]betaScalar \( \beta \)
[in,out]dCDOUBLE PRECISION array on GPU device. The m-by-n matrix C of dimension (lddc,n), lddc >= max(1,m).
[in]lddcLeading dimension of dC.
[in]queuemagma_queue_t Queue to execute in.
void magma_ssymm ( magma_side_t  side,
magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
float  alpha,
magmaFloat_const_ptr  dA,
magma_int_t  ldda,
magmaFloat_const_ptr  dB,
magma_int_t  lddb,
float  beta,
magmaFloat_ptr  dC,
magma_int_t  lddc,
magma_queue_t  queue 
)

Perform symmetric matrix-matrix product.

\( C = \alpha A B + \beta C \) (side == MagmaLeft), or
\( C = \alpha B A + \beta C \) (side == MagmaRight),
where \( A \) is symmetric.

Parameters
[in]sideWhether A is on the left or right.
[in]uploWhether the upper or lower triangle of A is referenced.
[in]mNumber of rows of C. m >= 0.
[in]nNumber of columns of C. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dAREAL array on GPU device. If side == MagmaLeft, the m-by-m symmetric matrix A of dimension (ldda,m), ldda >= max(1,m);
otherwise, the n-by-n symmetric matrix A of dimension (ldda,n), ldda >= max(1,n).
[in]lddaLeading dimension of dA.
[in]dBREAL array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
[in]lddbLeading dimension of dB.
[in]betaScalar \( \beta \)
[in,out]dCREAL array on GPU device. The m-by-n matrix C of dimension (lddc,n), lddc >= max(1,m).
[in]lddcLeading dimension of dC.
[in]queuemagma_queue_t Queue to execute in.
void magma_zsymm ( magma_side_t  side,
magma_uplo_t  uplo,
magma_int_t  m,
magma_int_t  n,
magmaDoubleComplex  alpha,
magmaDoubleComplex_const_ptr  dA,
magma_int_t  ldda,
magmaDoubleComplex_const_ptr  dB,
magma_int_t  lddb,
magmaDoubleComplex  beta,
magmaDoubleComplex_ptr  dC,
magma_int_t  lddc,
magma_queue_t  queue 
)

Perform symmetric matrix-matrix product.

\( C = \alpha A B + \beta C \) (side == MagmaLeft), or
\( C = \alpha B A + \beta C \) (side == MagmaRight),
where \( A \) is symmetric.

Parameters
[in]sideWhether A is on the left or right.
[in]uploWhether the upper or lower triangle of A is referenced.
[in]mNumber of rows of C. m >= 0.
[in]nNumber of columns of C. n >= 0.
[in]alphaScalar \( \alpha \)
[in]dACOMPLEX_16 array on GPU device. If side == MagmaLeft, the m-by-m symmetric matrix A of dimension (ldda,m), ldda >= max(1,m);
otherwise, the n-by-n symmetric matrix A of dimension (ldda,n), ldda >= max(1,n).
[in]lddaLeading dimension of dA.
[in]dBCOMPLEX_16 array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
[in]lddbLeading dimension of dB.
[in]betaScalar \( \beta \)
[in,out]dCCOMPLEX_16 array on GPU device. The m-by-n matrix C of dimension (lddc,n), lddc >= max(1,m).
[in]lddcLeading dimension of dC.
[in]queuemagma_queue_t Queue to execute in.