1CSYMM(1)                         BLAS routine                         CSYMM(1)
2
3
4

NAME

6       CSYMM - performs one of the matrix-matrix operations   C := alpha*A*B +
7       beta*C,
8

SYNOPSIS

10       SUBROUTINE CSYMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
11
12           COMPLEX                                                  ALPHA,BETA
13
14           INTEGER                                                  LDA,LDB,LDC,M,N
15
16           CHARACTER                                                SIDE,UPLO
17
18           COMPLEX                                                  A(LDA,*),B(LDB,*),C(LDC,*)
19

PURPOSE

21       CSYMM  performs one of the matrix-matrix operations
22
23       or
24
25          C := alpha*B*A + beta*C,
26
27       where  alpha and beta are scalars, A is a symmetric matrix and  B and C
28       are m by n matrices.
29
30

ARGUMENTS

32       SIDE   - CHARACTER*1.
33              On  entry,   SIDE   specifies  whether  the  symmetric matrix  A
34              appears on the  left or right  in the  operation as follows:
35
36              SIDE = 'L' or 'l'   C := alpha*A*B + beta*C,
37
38              SIDE = 'R' or 'r'   C := alpha*B*A + beta*C,
39
40              Unchanged on exit.
41
42       UPLO   - CHARACTER*1.
43              On  entry,   UPLO  specifies  whether   the   upper   or   lower
44              triangular   part   of   the   symmetric  matrix   A  is  to  be
45              referenced as follows:
46
47              UPLO = 'U' or 'u'   Only the upper triangular part of  the  sym‐
48              metric matrix is to be referenced.
49
50              UPLO  =  'L' or 'l'   Only the lower triangular part of the sym‐
51              metric matrix is to be referenced.
52
53              Unchanged on exit.
54
55       M      - INTEGER.
56              On entry,  M  specifies the number of rows of the matrix  C.   M
57              must be at least zero.  Unchanged on exit.
58
59       N      - INTEGER.
60              On  entry, N specifies the number of columns of the matrix C.  N
61              must be at least zero.  Unchanged on exit.
62
63       ALPHA  - COMPLEX         .
64              On entry, ALPHA specifies the scalar alpha.  Unchanged on exit.
65
66       A      - COMPLEX          array of DIMENSION ( LDA, ka ), where ka is
67              m  when  SIDE = 'L' or 'l'  and is n  otherwise.   Before  entry
68              with   SIDE  =  'L'  or  'l',  the  m by m  part of the array  A
69              must contain the  symmetric matrix,  such that when  UPLO =  'U'
70              or 'u', the leading m by m upper triangular part of the array  A
71              must contain the upper triangular part of the  symmetric  matrix
72              and  the   strictly   lower triangular part of  A  is not refer‐
73              enced,  and when  UPLO = 'L' or 'l', the leading  m by m   lower
74              triangular part  of the  array  A must  contain  the  lower tri‐
75              angular part  of the  symmetric matrix and the   strictly  upper
76              triangular  part  of   A  is not referenced.  Before entry  with
77              SIDE = 'R' or 'r',  the  n by n  part of the array  A  must con‐
78              tain  the  symmetric matrix,  such that when  UPLO = 'U' or 'u',
79              the leading n by n upper triangular part of the array   A   must
80              contain  the  upper triangular part of the  symmetric matrix and
81              the  strictly  lower triangular part of  A  is  not  referenced,
82              and when  UPLO = 'L' or 'l', the leading  n by n  lower triangu‐
83              lar part  of the  array  A must  contain  the  lower  triangular
84              part   of the  symmetric matrix and the  strictly upper triangu‐
85              lar part of  A  is not referenced.  Unchanged on exit.
86
87       LDA    - INTEGER.
88              On entry, LDA specifies the first dimension of A as declared  in
89              the   calling  (sub)  program. When  SIDE = 'L' or 'l'  then LDA
90              must be at least  max( 1, m ), otherwise  LDA must be  at  least
91              max( 1, n ).  Unchanged on exit.
92
93       B      - COMPLEX          array of DIMENSION ( LDB, n ).
94              Before  entry,  the  leading   m by n part of the array  B  must
95              contain the matrix B.  Unchanged on exit.
96
97       LDB    - INTEGER.
98              On entry, LDB specifies the first dimension of B as declared  in
99              the  calling  (sub)  program.   LDB  must  be  at  least max( 1,
100              m ).  Unchanged on exit.
101
102       BETA   - COMPLEX         .
103              On entry,  BETA  specifies the scalar   beta.   When   BETA   is
104              supplied  as zero then C need not be set on input.  Unchanged on
105              exit.
106
107       C      - COMPLEX          array of DIMENSION ( LDC, n ).
108              Before entry, the leading  m by n  part of  the  array   C  must
109              contain  the  matrix   C,   except when  beta  is zero, in which
110              case C need not be set on entry.  On  exit,  the  array   C   is
111              overwritten by the  m by n updated matrix.
112
113       LDC    - INTEGER.
114              On  entry, LDC specifies the first dimension of C as declared in
115              the  calling  (sub)  program.   LDC  must  be  at  least max( 1,
116              m ).  Unchanged on exit.
117

FURTHER DETAILS

119       Level 3 Blas routine.
120
121       -- Written on 8-February-1989.
122          Jack Dongarra, Argonne National Laboratory.
123          Iain Duff, AERE Harwell.
124          Jeremy Du Croz, Numerical Algorithms Group Ltd.
125          Sven Hammarling, Numerical Algorithms Group Ltd.
126
127
128
129
130BLAS routine                     November 2008                        CSYMM(1)
Impressum