Matrix-matrix multiply

 

 

SSYMM/DSYMM/CHEMM/CSYMM/ZHEMM/ZSYMM

Input

side

Specifies whether symmetric or Hermitian matrix A is

 

 

the left or right matrix operand:

 

 

’L’ or ’l’

A is the left matrix operand, that is,

 

 

 

compute C ← αAB + βC

 

 

’R’ or ’r’

A is the right matrix operand, that is,

 

 

 

compute C ← αBA + βC

 

uplo

Upper/lower triangular storage option for A:

 

 

’L’ or ’l’

Reference only the lower triangle of A

 

 

’U’ or ’u’

Reference only the upper triangle of A

 

m

Number of rows in matrix C, m ≥ 0. If m = 0, the

 

 

subprograms do not reference a, b, or c.

 

n

Number of columns in matrix B, n ≥ 0. If n = 0, the

 

 

subprograms do not reference a, b, or c.

 

alpha

The scalar α. If alpha = 0, the subprograms compute

 

 

C ← βC without referencing a or b.

 

a

Array whose upper or lower triangle, as specified by

 

 

uplo, contains the upper or lower triangle of the matrix

 

 

A. The other triangle of a is not referenced. The size of

 

 

A is indicated by side:

 

 

’L’ or ’l’

A is m-by-m

 

 

’R’ or ’r’

A is n-by-n

 

lda

The leading dimension of array a as declared in the

 

 

calling program unit, with lda ≥ max (the number of

 

 

rows of A,1).

 

 

b

Array containing the m-by-nmatrix B.

 

ldb

The leading dimension of array b as declared in the

 

 

calling program unit, with ldb ≥ max(m,1).

 

beta

The scalar β.

 

 

c

Array containing the m-by-nmatrix C. Not used as

 

 

input if beta = 0.

 

ldc

The leading dimension of array c as declared in the

 

 

calling program unit, with ldc ≥ max(m,1).

Output

c

The updated C matrix replaces the input.

Notes These subprograms conform to specifications of the Level 3 BLAS.

Chapter 3 Basic Matrix Operations 267