183 SUBROUTINE dsbmv(UPLO,N,K,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
190 DOUBLE PRECISION ALPHA,BETA
191 INTEGER INCX,INCY,K,LDA,N
195 DOUBLE PRECISION A(lda,*),X(*),Y(*)
201 DOUBLE PRECISION ONE,ZERO
202 parameter(one=1.0d+0,zero=0.0d+0)
205 DOUBLE PRECISION TEMP1,TEMP2
206 INTEGER I,INFO,IX,IY,J,JX,JY,KPLUS1,KX,KY,L
222 IF (.NOT.lsame(uplo,
'U') .AND. .NOT.lsame(uplo,
'L'))
THEN 224 ELSE IF (n.LT.0)
THEN 226 ELSE IF (k.LT.0)
THEN 228 ELSE IF (lda.LT. (k+1))
THEN 230 ELSE IF (incx.EQ.0)
THEN 232 ELSE IF (incy.EQ.0)
THEN 236 CALL xerbla(
'DSBMV ',info)
242 IF ((n.EQ.0) .OR. ((alpha.EQ.zero).AND. (beta.EQ.one)))
RETURN 262 IF (beta.NE.one)
THEN 264 IF (beta.EQ.zero)
THEN 275 IF (beta.EQ.zero)
THEN 288 IF (alpha.EQ.zero)
RETURN 289 IF (lsame(uplo,
'U'))
THEN 294 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 299 DO 50 i = max(1,j-k),j - 1
300 y(i) = y(i) + temp1*a(l+i,j)
301 temp2 = temp2 + a(l+i,j)*x(i)
303 y(j) = y(j) + temp1*a(kplus1,j) + alpha*temp2
314 DO 70 i = max(1,j-k),j - 1
315 y(iy) = y(iy) + temp1*a(l+i,j)
316 temp2 = temp2 + a(l+i,j)*x(ix)
320 y(jy) = y(jy) + temp1*a(kplus1,j) + alpha*temp2
333 IF ((incx.EQ.1) .AND. (incy.EQ.1))
THEN 337 y(j) = y(j) + temp1*a(1,j)
339 DO 90 i = j + 1,min(n,j+k)
340 y(i) = y(i) + temp1*a(l+i,j)
341 temp2 = temp2 + a(l+i,j)*x(i)
343 y(j) = y(j) + alpha*temp2
351 y(jy) = y(jy) + temp1*a(1,j)
355 DO 110 i = j + 1,min(n,j+k)
358 y(iy) = y(iy) + temp1*a(l+i,j)
359 temp2 = temp2 + a(l+i,j)*x(ix)
361 y(jy) = y(jy) + alpha*temp2
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dsbmv(UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DSBMV