191 SUBROUTINE ssyr2k(UPLO,TRANS,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
199 INTEGER K,LDA,LDB,LDC,N
203 REAL A(lda,*),B(ldb,*),C(ldc,*)
220 INTEGER I,INFO,J,L,NROWA
225 parameter(one=1.0e+0,zero=0.0e+0)
230 IF (lsame(trans,
'N'))
THEN 235 upper = lsame(uplo,
'U')
238 IF ((.NOT.upper) .AND. (.NOT.lsame(uplo,
'L')))
THEN 240 ELSE IF ((.NOT.lsame(trans,
'N')) .AND.
241 + (.NOT.lsame(trans,
'T')) .AND.
242 + (.NOT.lsame(trans,
'C')))
THEN 244 ELSE IF (n.LT.0)
THEN 246 ELSE IF (k.LT.0)
THEN 248 ELSE IF (lda.LT.max(1,nrowa))
THEN 250 ELSE IF (ldb.LT.max(1,nrowa))
THEN 252 ELSE IF (ldc.LT.max(1,n))
THEN 256 CALL xerbla(
'SSYR2K',info)
262 IF ((n.EQ.0) .OR. (((alpha.EQ.zero).OR.
263 + (k.EQ.0)).AND. (beta.EQ.one)))
RETURN 267 IF (alpha.EQ.zero)
THEN 269 IF (beta.EQ.zero)
THEN 283 IF (beta.EQ.zero)
THEN 302 IF (lsame(trans,
'N'))
THEN 308 IF (beta.EQ.zero)
THEN 312 ELSE IF (beta.NE.one)
THEN 318 IF ((a(j,l).NE.zero) .OR. (b(j,l).NE.zero))
THEN 322 c(i,j) = c(i,j) + a(i,l)*temp1 +
330 IF (beta.EQ.zero)
THEN 334 ELSE IF (beta.NE.one)
THEN 340 IF ((a(j,l).NE.zero) .OR. (b(j,l).NE.zero))
THEN 344 c(i,j) = c(i,j) + a(i,l)*temp1 +
361 temp1 = temp1 + a(l,i)*b(l,j)
362 temp2 = temp2 + b(l,i)*a(l,j)
364 IF (beta.EQ.zero)
THEN 365 c(i,j) = alpha*temp1 + alpha*temp2
367 c(i,j) = beta*c(i,j) + alpha*temp1 +
378 temp1 = temp1 + a(l,i)*b(l,j)
379 temp2 = temp2 + b(l,i)*a(l,j)
381 IF (beta.EQ.zero)
THEN 382 c(i,j) = alpha*temp1 + alpha*temp2
384 c(i,j) = beta*c(i,j) + alpha*temp1 +
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ssyr2k(UPLO, TRANS, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
SSYR2K