188 SUBROUTINE chbmv(UPLO,N,K,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
197 INTEGER incx,incy,k,lda,n
201 COMPLEX a(lda,*),x(*),y(*)
208 parameter(one= (1.0e+0,0.0e+0))
210 parameter(zero= (0.0e+0,0.0e+0))
214 INTEGER i,info,ix,iy,j,jx,jy,kplus1,kx,ky,l
224 INTRINSIC conjg,max,min,real
230 IF (.NOT.
lsame(uplo,
'U') .AND. .NOT.
lsame(uplo,
'L'))
THEN
232 ELSE IF (n.LT.0)
THEN
234 ELSE IF (k.LT.0)
THEN
236 ELSE IF (lda.LT. (k+1))
THEN
238 ELSE IF (incx.EQ.0)
THEN
240 ELSE IF (incy.EQ.0)
THEN
244 CALL
xerbla(
'CHBMV ',info)
250 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one))) return
270 IF (beta.NE.one)
THEN
272 IF (beta.EQ.zero)
THEN
283 IF (beta.EQ.zero)
THEN
296 IF (alpha.EQ.zero) return
297 IF (
lsame(uplo,
'U'))
THEN
302 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
307 DO 50 i = max(1,j-k),j - 1
308 y(i) = y(i) + temp1*a(l+i,j)
309 temp2 = temp2 + conjg(a(l+i,j))*x(i)
311 y(j) = y(j) + temp1*
REAL(A(KPLUS1,J)) + alpha*temp2
322 DO 70 i = max(1,j-k),j - 1
323 y(iy) = y(iy) + temp1*a(l+i,j)
324 temp2 = temp2 + conjg(a(l+i,j))*x(ix)
328 y(jy) = y(jy) + temp1*
REAL(A(KPLUS1,J)) + alpha*temp2
341 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN
345 y(j) = y(j) + temp1*
REAL(a(1,j))
347 DO 90 i = j + 1,min(n,j+k)
348 y(i) = y(i) + temp1*a(l+i,j)
349 temp2 = temp2 + conjg(a(l+i,j))*x(i)
351 y(j) = y(j) + alpha*temp2
359 y(jy) = y(jy) + temp1*
REAL(a(1,j))
363 DO 110 i = j + 1,min(n,j+k)
366 y(iy) = y(iy) + temp1*a(l+i,j)
367 temp2 = temp2 + conjg(a(l+i,j))*x(ix)
369 y(jy) = y(jy) + alpha*temp2