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

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

## Detailed Description

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

## Function Documentation

## magma_csymm()

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] | side | Whether A is on the left or right.
  [in] | uplo | Whether the upper or lower triangle of A is referenced.
  [in] | m | Number of rows of C. m >= 0.
  [in] | n | Number of columns of C. n >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | COMPLEX 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] | ldda | Leading dimension of dA.
  [in] | dB | COMPLEX array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
  [in] | lddb | Leading dimension of dB.
  [in] | beta | Scalar \( \beta \)
  [in,out] | dC | COMPLEX array on GPU device. The m-by-n matrix C of dimension (lddc,n), lddc >= max(1,m).
  [in] | lddc | Leading dimension of dC.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_dsymm()

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] | side | Whether A is on the left or right.
  [in] | uplo | Whether the upper or lower triangle of A is referenced.
  [in] | m | Number of rows of C. m >= 0.
  [in] | n | Number of columns of C. n >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | DOUBLE 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] | ldda | Leading dimension of dA.
  [in] | dB | DOUBLE PRECISION array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
  [in] | lddb | Leading dimension of dB.
  [in] | beta | Scalar \( \beta \)
  [in,out] | dC | DOUBLE PRECISION array on GPU device. The m-by-n matrix C of dimension (lddc,n), lddc >= max(1,m).
  [in] | lddc | Leading dimension of dC.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_ssymm()

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] | side | Whether A is on the left or right.
  [in] | uplo | Whether the upper or lower triangle of A is referenced.
  [in] | m | Number of rows of C. m >= 0.
  [in] | n | Number of columns of C. n >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | REAL 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] | ldda | Leading dimension of dA.
  [in] | dB | REAL array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
  [in] | lddb | Leading dimension of dB.
  [in] | beta | Scalar \( \beta \)
  [in,out] | dC | REAL array on GPU device. The m-by-n matrix C of dimension (lddc,n), lddc >= max(1,m).
  [in] | lddc | Leading dimension of dC.
  [in] | queue | magma_queue_t Queue to execute in.

## magma_zsymm()

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] | side | Whether A is on the left or right.
  [in] | uplo | Whether the upper or lower triangle of A is referenced.
  [in] | m | Number of rows of C. m >= 0.
  [in] | n | Number of columns of C. n >= 0.
  [in] | alpha | Scalar \( \alpha \)
  [in] | dA | COMPLEX_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] | ldda | Leading dimension of dA.
  [in] | dB | COMPLEX_16 array on GPU device. The m-by-n matrix B of dimension (lddb,n), lddb >= max(1,m).
  [in] | lddb | Leading dimension of dB.
  [in] | beta | Scalar \( \beta \)
  [in,out] | dC | COMPLEX_16 array on GPU device. The m-by-n matrix C of dimension (lddc,n), lddc >= max(1,m).
  [in] | lddc | Leading dimension of dC.
  [in] | queue | magma_queue_t Queue to execute in.