1SSYMM(1) BLAS routine SSYMM(1)
2
3
4
6 SSYMM - performs one of the matrix-matrix operations C := alpha*A*B +
7 beta*C,
8
10 SUBROUTINE SSYMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
11
12 REAL ALPHA,BETA
13
14 INTEGER LDA,LDB,LDC,M,N
15
16 CHARACTER SIDE,UPLO
17
18 REAL A(LDA,*),B(LDB,*),C(LDC,*)
19
21 SSYMM 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
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 - REAL .
64 On entry, ALPHA specifies the scalar alpha. Unchanged on exit.
65
66 A - REAL 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 - REAL 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 - REAL .
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 - REAL 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
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 SSYMM(1)