1CHEMM(1) BLAS routine CHEMM(1)
2
3
4
6 CHEMM - one of the matrix-matrix operations C := alpha*A*B + beta*C,
7
9 SUBROUTINE CHEMM(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
10
11 COMPLEX ALPHA,BETA
12
13 INTEGER LDA,LDB,LDC,M,N
14
15 CHARACTER SIDE,UPLO
16
17 COMPLEX A(LDA,*),B(LDB,*),C(LDC,*)
18
20 CHEMM 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 an hermitian matrix and B and C
27 are m by n matrices.
28
29
31 SIDE - CHARACTER*1.
32 On entry, SIDE specifies whether the hermitian 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 hermitian matrix A is to be
44 referenced as follows:
45
46 UPLO = 'U' or 'u' Only the upper triangular part of the her‐
47 mitian matrix is to be referenced.
48
49 UPLO = 'L' or 'l' Only the lower triangular part of the her‐
50 mitian 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 - COMPLEX .
63 On entry, ALPHA specifies the scalar alpha. Unchanged on exit.
64
65 A - COMPLEX 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 hermitian 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 hermitian 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 hermitian 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 hermitian 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 hermitian 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 hermitian matrix and the strictly upper triangu‐
84 lar part of A is not referenced. Note that the imaginary
85 parts of the diagonal elements need not be set, they are
86 assumed to be zero. Unchanged on exit.
87
88 LDA - INTEGER.
89 On entry, LDA specifies the first dimension of A as declared in
90 the calling (sub) program. When SIDE = 'L' or 'l' then LDA
91 must be at least max( 1, m ), otherwise LDA must be at least
92 max( 1, n ). Unchanged on exit.
93
94 B - COMPLEX array of DIMENSION ( LDB, n ).
95 Before entry, the leading m by n part of the array B must
96 contain the matrix B. Unchanged on exit.
97
98 LDB - INTEGER.
99 On entry, LDB specifies the first dimension of B as declared in
100 the calling (sub) program. LDB must be at least max( 1,
101 m ). Unchanged on exit.
102
103 BETA - COMPLEX .
104 On entry, BETA specifies the scalar beta. When BETA is
105 supplied as zero then C need not be set on input. Unchanged on
106 exit.
107
108 C - COMPLEX array of DIMENSION ( LDC, n ).
109 Before entry, the leading m by n part of the array C must
110 contain the matrix C, except when beta is zero, in which
111 case C need not be set on entry. On exit, the array C is
112 overwritten by the m by n updated matrix.
113
114 LDC - INTEGER.
115 On entry, LDC specifies the first dimension of C as declared in
116 the calling (sub) program. LDC must be at least max( 1,
117 m ). Unchanged on exit.
118
119 Level 3 Blas routine.
120
121 -- Written on 8-February-1989. Jack Dongarra, Argonne National
122 Laboratory. Iain Duff, AERE Harwell. Jeremy Du Croz, Numerical
123 Algorithms Group Ltd. Sven Hammarling, Numerical Algorithms
124 Group Ltd.
125
126
127
128
129
130
131BLAS routine November 2006 CHEMM(1)