188 SUBROUTINE zsymm(SIDE,UPLO,M,N,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
195 COMPLEX*16 ALPHA,BETA
196 INTEGER LDA,LDB,LDC,M,N
200 COMPLEX*16 A(LDA,*),B(LDB,*),C(LDC,*)
216 COMPLEX*16 TEMP1,TEMP2
217 INTEGER I,INFO,J,K,NROWA
222 parameter(one= (1.0d+0,0.0d+0))
224 parameter(zero= (0.0d+0,0.0d+0))
229 IF (lsame(side,
'L'))
THEN
234 upper = lsame(uplo,
'U')
239 IF ((.NOT.lsame(side,
'L')) .AND. (.NOT.lsame(side,
'R')))
THEN
241 ELSE IF ((.NOT.upper) .AND. (.NOT.lsame(uplo,
'L')))
THEN
243 ELSE IF (m.LT.0)
THEN
245 ELSE IF (n.LT.0)
THEN
247 ELSE IF (lda.LT.max(1,nrowa))
THEN
249 ELSE IF (ldb.LT.max(1,m))
THEN
251 ELSE IF (ldc.LT.max(1,m))
THEN
255 CALL xerbla(
'ZSYMM ',info)
261 IF ((m.EQ.0) .OR. (n.EQ.0) .OR.
262 + ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN
266 IF (alpha.EQ.zero)
THEN
267 IF (beta.EQ.zero)
THEN
285 IF (lsame(side,
'L'))
THEN
295 c(k,j) = c(k,j) + temp1*a(k,i)
296 temp2 = temp2 + b(k,j)*a(k,i)
298 IF (beta.EQ.zero)
THEN
299 c(i,j) = temp1*a(i,i) + alpha*temp2
301 c(i,j) = beta*c(i,j) + temp1*a(i,i) +
312 c(k,j) = c(k,j) + temp1*a(k,i)
313 temp2 = temp2 + b(k,j)*a(k,i)
315 IF (beta.EQ.zero)
THEN
316 c(i,j) = temp1*a(i,i) + alpha*temp2
318 c(i,j) = beta*c(i,j) + temp1*a(i,i) +
330 IF (beta.EQ.zero)
THEN
332 c(i,j) = temp1*b(i,j)
336 c(i,j) = beta*c(i,j) + temp1*b(i,j)
346 c(i,j) = c(i,j) + temp1*b(i,k)
356 c(i,j) = c(i,j) + temp1*b(i,k)
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zsymm(SIDE, UPLO, M, N, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
ZSYMM