124 SUBROUTINE dgtt02( TRANS, N, NRHS, DL, D, DU, X, LDX, B, LDB,
134 INTEGER ldb, ldx, n, nrhs
135 DOUBLE PRECISION resid
138 DOUBLE PRECISION b( ldb, * ), d( * ), dl( * ), du( * ),
145 DOUBLE PRECISION one, zero
146 parameter( one = 1.0d+0, zero = 0.0d+0 )
150 DOUBLE PRECISION anorm, bnorm, eps, xnorm
168 IF( n.LE.0 .OR. nrhs.EQ.0 )
174 IF(
lsame( trans,
'N' ) )
THEN
175 anorm =
dlangt(
'1', n, dl, d, du )
177 anorm =
dlangt(
'I', n, dl, d, du )
183 IF( anorm.LE.zero )
THEN
190 CALL
dlagtm( trans, n, nrhs, -one, dl, d, du,
x, ldx, one,
b,
194 bnorm =
dasum( n,
b( 1,
j ), 1 )
195 xnorm =
dasum( 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
subroutine dgtt02(TRANS, N, NRHS, DL, D, DU, X, LDX, B, LDB, RESID)
DGTT02
subroutine dlagtm(TRANS, N, NRHS, ALPHA, DL, D, DU, X, LDX, BETA, B, LDB)
DLAGTM performs a matrix-matrix product of the form C = αAB+βC, where A is a tridiagonal matrix...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
DOUBLE PRECISION function dlangt(NORM, N, DL, D, DU)
DLANGT returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
DOUBLE PRECISION function dlamch(CMACH)
DLAMCH
DOUBLE PRECISION function dasum(N, DX, INCX)
DASUM