186 SUBROUTINE zhbmv(UPLO,N,K,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
193 COMPLEX*16 ALPHA,BETA
194 INTEGER INCX,INCY,K,LDA,N
198 COMPLEX*16 A(lda,*),X(*),Y(*)
205 parameter(one= (1.0d+0,0.0d+0))
207 parameter(zero= (0.0d+0,0.0d+0))
210 COMPLEX*16 TEMP1,TEMP2
211 INTEGER I,INFO,IX,IY,J,JX,JY,KPLUS1,KX,KY,L
221 INTRINSIC dble,dconjg,max,min
227 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN 229 ELSE IF (n.LT.0)
THEN 231 ELSE IF (k.LT.0)
THEN 233 ELSE IF (lda.LT. (k+1))
THEN 235 ELSE IF (incx.EQ.0)
THEN 237 ELSE IF (incy.EQ.0)
THEN 241 CALL xerbla(
'ZHBMV ',info)
247 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN 267 IF (beta.NE.one)
THEN 269 IF (beta.EQ.zero)
THEN 280 IF (beta.EQ.zero)
THEN 293 IF (alpha.EQ.zero)
RETURN 294 IF (lsame(uplo,
'U'))
THEN 299 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 304 DO 50 i = max(1,j-k),j - 1
305 y(i) = y(i) + temp1*a(l+i,j)
306 temp2 = temp2 + dconjg(a(l+i,j))*x(i)
308 y(j) = y(j) + temp1*dble(a(kplus1,j)) + alpha*temp2
319 DO 70 i = max(1,j-k),j - 1
320 y(iy) = y(iy) + temp1*a(l+i,j)
321 temp2 = temp2 + dconjg(a(l+i,j))*x(ix)
325 y(jy) = y(jy) + temp1*dble(a(kplus1,j)) + alpha*temp2
338 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 342 y(j) = y(j) + temp1*dble(a(1,j))
344 DO 90 i = j + 1,min(n,j+k)
345 y(i) = y(i) + temp1*a(l+i,j)
346 temp2 = temp2 + dconjg(a(l+i,j))*x(i)
348 y(j) = y(j) + alpha*temp2
356 y(jy) = y(jy) + temp1*dble(a(1,j))
360 DO 110 i = j + 1,min(n,j+k)
363 y(iy) = y(iy) + temp1*a(l+i,j)
364 temp2 = temp2 + dconjg(a(l+i,j))*x(ix)
366 y(jy) = y(jy) + alpha*temp2
subroutine zhbmv(UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZHBMV
subroutine xerbla(SRNAME, INFO)
XERBLA