166 SUBROUTINE csyrk(UPLO,TRANS,N,K,ALPHA,A,LDA,BETA,C,LDC)
178 COMPLEX A(LDA,*),C(LDC,*)
195 INTEGER I,INFO,J,L,NROWA
200 parameter(one= (1.0e+0,0.0e+0))
202 parameter(zero= (0.0e+0,0.0e+0))
207 IF (lsame(trans,
'N'))
THEN
212 upper = lsame(uplo,
'U')
215 IF ((.NOT.upper) .AND. (.NOT.lsame(uplo,
'L')))
THEN
217 ELSE IF ((.NOT.lsame(trans,
'N')) .AND.
218 + (.NOT.lsame(trans,
'T')))
THEN
220 ELSE IF (n.LT.0)
THEN
222 ELSE IF (k.LT.0)
THEN
224 ELSE IF (lda.LT.max(1,nrowa))
THEN
226 ELSE IF (ldc.LT.max(1,n))
THEN
230 CALL xerbla(
'CSYRK ',info)
236 IF ((n.EQ.0) .OR. (((alpha.EQ.zero).OR.
237 + (k.EQ.0)).AND. (beta.EQ.one)))
RETURN
241 IF (alpha.EQ.zero)
THEN
243 IF (beta.EQ.zero)
THEN
257 IF (beta.EQ.zero)
THEN
276 IF (lsame(trans,
'N'))
THEN
282 IF (beta.EQ.zero)
THEN
286 ELSE IF (beta.NE.one)
THEN
292 IF (a(j,l).NE.zero)
THEN
295 c(i,j) = c(i,j) + temp*a(i,l)
302 IF (beta.EQ.zero)
THEN
306 ELSE IF (beta.NE.one)
THEN
312 IF (a(j,l).NE.zero)
THEN
315 c(i,j) = c(i,j) + temp*a(i,l)
330 temp = temp + a(l,i)*a(l,j)
332 IF (beta.EQ.zero)
THEN
335 c(i,j) = alpha*temp + beta*c(i,j)
344 temp = temp + a(l,i)*a(l,j)
346 IF (beta.EQ.zero)
THEN
349 c(i,j) = alpha*temp + beta*c(i,j)
subroutine xerbla(srname, info)
subroutine csyrk(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
CSYRK