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

NAME

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

SYNOPSIS

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

PURPOSE

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

ARGUMENTS

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