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

NAME

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

SYNOPSIS

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

PURPOSE

23       ZHEMM  performs one of the matrix-matrix operations
24
25       or
26
27          C := alpha*B*A + beta*C,
28
29       where alpha and beta are scalars, A is an hermitian matrix and  B and C
30       are m by n matrices.
31
32

ARGUMENTS

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

FURTHER DETAILS

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