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