141 SUBROUTINE stpt02( UPLO, TRANS, DIAG, N, NRHS, AP, X, LDX, B, LDB,
150 CHARACTER diag, trans, uplo
151 INTEGER ldb, ldx, n, nrhs
155 REAL ap( * ),
b( ldb, * ), work( * ), x( ldx, * )
162 parameter( zero = 0.0e+0, one = 1.0e+0 )
166 REAL anorm, bnorm, eps, xnorm
183 IF( n.LE.0 .OR. nrhs.LE.0 )
THEN
190 IF(
lsame( trans,
'N' ) )
THEN
191 anorm =
slantp(
'1', uplo, diag, n, ap, work )
193 anorm =
slantp(
'I', uplo, diag, n, ap, work )
199 IF( anorm.LE.zero )
THEN
209 CALL
scopy( n, x( 1,
j ), 1, work, 1 )
210 CALL
stpmv( uplo, trans, diag, n, ap, work, 1 )
211 CALL
saxpy( n, -one,
b( 1,
j ), 1, work, 1 )
212 bnorm =
sasum( n, work, 1 )
213 xnorm =
sasum( n, x( 1,
j ), 1 )
214 IF( xnorm.LE.zero )
THEN
217 resid = max( resid, ( ( bnorm / anorm ) / xnorm ) / eps )
real function sasum(N, SX, INCX)
SASUM
subroutine stpt02(UPLO, TRANS, DIAG, N, NRHS, AP, X, LDX, B, LDB, WORK, RESID)
STPT02
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine scopy(N, SX, INCX, SY, INCY)
SCOPY
logical function lsame(CA, CB)
LSAME
subroutine saxpy(N, SA, SX, INCX, SY, INCY)
SAXPY
real function slantp(NORM, UPLO, DIAG, N, AP, WORK)
SLANTP returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a triangular matrix supplied in packed form.
subroutine stpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
STPMV
real function slamch(CMACH)
SLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j