136 SUBROUTINE zpbt02( 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 rwork( * )
151 COMPLEX*16 a( lda, * ),
b( ldb, * ), x( ldx, * )
157 DOUBLE PRECISION zero, one
158 parameter( zero = 0.0d+0, one = 1.0d+0 )
160 parameter( cone = ( 1.0d+0, 0.0d+0 ) )
164 DOUBLE PRECISION anorm, bnorm, eps, xnorm
180 IF( n.LE.0 .OR. nrhs.LE.0 )
THEN
188 anorm =
zlanhb(
'1', uplo, n, kd, a, lda, rwork )
189 IF( anorm.LE.zero )
THEN
197 CALL
zhbmv( uplo, n, kd, -cone, a, lda, x( 1,
j ), 1, cone,
207 xnorm =
dzasum( n, x( 1,
j ), 1 )
208 IF( xnorm.LE.zero )
THEN
211 resid = max( resid, ( ( bnorm / anorm ) / xnorm ) / eps )
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
double precision function zlanhb(NORM, UPLO, N, K, AB, LDAB, WORK)
ZLANHB returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a Hermitian band matrix.
double precision function dzasum(N, ZX, INCX)
DZASUM
double precision function dlamch(CMACH)
DLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine zhbmv(UPLO, N, K, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
ZHBMV
subroutine zpbt02(UPLO, N, KD, NRHS, A, LDA, X, LDX, B, LDB, RWORK, RESID)
ZPBT02