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

NAME

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

SYNOPSIS

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

PURPOSE

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

ARGUMENTS

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)
Impressum