124 SUBROUTINE sgtt02( TRANS, N, NRHS, DL, D, DU, X, LDX, B, LDB,
134 INTEGER ldb, ldx, n, nrhs
138 REAL b( ldb, * ), d( * ), dl( * ), du( * ),
146 parameter( one = 1.0e+0, zero = 0.0e+0 )
150 REAL anorm, bnorm, eps, xnorm
168 IF( n.LE.0 .OR. nrhs.EQ.0 )
174 IF(
lsame( trans,
'N' ) )
THEN
175 anorm =
slangt(
'1', n, dl, d, du )
177 anorm =
slangt(
'I', n, dl, d, du )
183 IF( anorm.LE.zero )
THEN
190 CALL
slagtm( trans, n, nrhs, -one, dl, d, du,
x, ldx, one,
b,
194 bnorm =
sasum( n,
b( 1,
j ), 1 )
195 xnorm =
sasum( n,
x( 1,
j ), 1 )
196 IF( xnorm.LE.zero )
THEN
199 resid = max( resid, ( ( bnorm / anorm ) / xnorm ) / eps )
LOGICAL function lsame(CA, CB)
LSAME
REAL function slangt(NORM, N, DL, D, DU)
SLANGT returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
REAL function slamch(CMACH)
SLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
REAL function sasum(N, SX, INCX)
SASUM
subroutine sgtt02(TRANS, N, NRHS, DL, D, DU, X, LDX, B, LDB, RESID)
SGTT02
subroutine slagtm(TRANS, N, NRHS, ALPHA, DL, D, DU, X, LDX, BETA, B, LDB)
SLAGTM performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix...