136 SUBROUTINE dpbt02( UPLO, N, KD, NRHS, A, LDA, X, LDX, B, LDB,
146 INTEGER kd, lda, ldb, ldx, n, nrhs
147 DOUBLE PRECISION resid
150 DOUBLE PRECISION a( lda, * ),
b( ldb, * ), rwork( * ),
157 DOUBLE PRECISION zero, one
158 parameter( zero = 0.0d+0, one = 1.0d+0 )
162 DOUBLE PRECISION anorm, bnorm, eps, xnorm
178 IF( n.LE.0 .OR. nrhs.LE.0 )
THEN
186 anorm =
dlansb(
'1', uplo, n, kd, a, lda, rwork )
187 IF( anorm.LE.zero )
THEN
195 CALL
dsbmv( uplo, n, kd, -one, a, lda, x( 1,
j ), 1, one,
204 bnorm =
dasum( n,
b( 1,
j ), 1 )
205 xnorm =
dasum( n, x( 1,
j ), 1 )
206 IF( xnorm.LE.zero )
THEN
209 resid = max( resid, ( ( bnorm / anorm ) / xnorm ) / eps )
subroutine dsbmv(UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DSBMV
double precision function dlansb(NORM, UPLO, N, K, AB, LDAB, WORK)
DLANSB returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a symmetric band matrix.
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine dpbt02(UPLO, N, KD, NRHS, A, LDA, X, LDX, B, LDB, RWORK, RESID)
DPBT02
double precision function dlamch(CMACH)
DLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
double precision function dasum(N, DX, INCX)
DASUM