190 SUBROUTINE stbsv(UPLO,TRANS,DIAG,N,K,A,LDA,X,INCX)
199 CHARACTER diag,trans,uplo
209 parameter(zero=0.0e+0)
213 INTEGER i,info,ix,
j,jx,kplus1,kx,l
230 IF (.NOT.
lsame(uplo,
'U') .AND. .NOT.
lsame(uplo,
'L'))
THEN
232 ELSE IF (.NOT.
lsame(trans,
'N') .AND. .NOT.
lsame(trans,
'T') .AND.
233 + .NOT.
lsame(trans,
'C'))
THEN
235 ELSE IF (.NOT.
lsame(diag,
'U') .AND. .NOT.
lsame(diag,
'N'))
THEN
237 ELSE IF (n.LT.0)
THEN
239 ELSE IF (k.LT.0)
THEN
241 ELSE IF (lda.LT. (k+1))
THEN
243 ELSE IF (incx.EQ.0)
THEN
247 CALL
xerbla(
'STBSV ',info)
255 nounit =
lsame(diag,
'N')
262 ELSE IF (incx.NE.1)
THEN
269 IF (
lsame(trans,
'N'))
THEN
273 IF (
lsame(uplo,
'U'))
THEN
277 IF (
x(
j).NE.zero)
THEN
279 IF (nounit)
x(
j) =
x(
j)/a(kplus1,
j)
281 DO 10 i =
j - 1,max(1,
j-k),-1
282 x(i) =
x(i) - temp*a(l+i,
j)
291 IF (
x(jx).NE.zero)
THEN
294 IF (nounit)
x(jx) =
x(jx)/a(kplus1,
j)
296 DO 30 i =
j - 1,max(1,
j-k),-1
297 x(ix) =
x(ix) - temp*a(l+i,
j)
307 IF (
x(
j).NE.zero)
THEN
309 IF (nounit)
x(
j) =
x(
j)/a(1,
j)
311 DO 50 i =
j + 1,min(n,
j+k)
312 x(i) =
x(i) - temp*a(l+i,
j)
320 IF (
x(jx).NE.zero)
THEN
323 IF (nounit)
x(jx) =
x(jx)/a(1,
j)
325 DO 70 i =
j + 1,min(n,
j+k)
326 x(ix) =
x(ix) - temp*a(l+i,
j)
338 IF (
lsame(uplo,
'U'))
THEN
344 DO 90 i = max(1,
j-k),
j - 1
345 temp = temp - a(l+i,
j)*
x(i)
347 IF (nounit) temp = temp/a(kplus1,
j)
356 DO 110 i = max(1,
j-k),
j - 1
357 temp = temp - a(l+i,
j)*
x(ix)
360 IF (nounit) temp = temp/a(kplus1,
j)
363 IF (
j.GT.k) kx = kx + incx
371 DO 130 i = min(n,
j+k),
j + 1,-1
372 temp = temp - a(l+i,
j)*
x(i)
374 IF (nounit) temp = temp/a(1,
j)
384 DO 150 i = min(n,
j+k),
j + 1,-1
385 temp = temp - a(l+i,
j)*
x(ix)
388 IF (nounit) temp = temp/a(1,
j)
391 IF ((n-
j).GE.k) kx = kx - incx
LOGICAL function lsame(CA, CB)
LSAME
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine stbsv(UPLO, TRANS, DIAG, N, K, A, LDA, X, INCX)
STBSV
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j