134 SUBROUTINE cgtt01( N, DL, D, DU, DLF, DF, DUF, DU2, IPIV, WORK,
135 $ ldwork, rwork, resid )
149 COMPLEX d( * ), df( * ), dl( * ), dlf( * ), du( * ),
150 $ du2( * ), duf( * ), work( ldwork, * )
157 parameter( one = 1.0e+0, zero = 0.0e+0 )
160 INTEGER i, ip,
j, lastj
194 work( i, i ) = df( i )
196 $ work( i, i+1 ) = duf( i )
198 $ work( i, i+2 ) = du2( i )
199 ELSE IF( i.EQ.n )
THEN
200 work( i, i ) = df( i )
202 work( i, i ) = df( i )
203 work( i, i+1 ) = duf( i )
205 $ work( i, i+2 ) = du2( i )
212 DO 40 i = n - 1, 1, -1
214 CALL
caxpy( lastj-i+1, li, work( i, i ), ldwork,
215 $ work( i+1, i ), ldwork )
218 lastj = min( i+2, n )
220 CALL
cswap( lastj-i+1, work( i, i ), ldwork, work( i+1, i ),
227 work( 1, 1 ) = work( 1, 1 ) - d( 1 )
229 work( 1, 2 ) = work( 1, 2 ) - du( 1 )
230 work( n, n-1 ) = work( n, n-1 ) - dl( n-1 )
231 work( n, n ) = work( n, n ) - d( n )
233 work( i, i-1 ) = work( i, i-1 ) - dl( i-1 )
234 work( i, i ) = work( i, i ) - d( i )
235 work( i, i+1 ) = work( i, i+1 ) - du( i )
241 anorm =
clangt(
'1', n, dl, d, du )
246 resid =
clanhs(
'1', n, work, ldwork, rwork )
250 IF( anorm.LE.zero )
THEN
254 resid = ( resid / anorm ) / eps
REAL function clangt(NORM, N, DL, D, DU)
CLANGT returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
subroutine cgtt01(N, DL, D, DU, DLF, DF, DUF, DU2, IPIV, WORK, LDWORK, RWORK, RESID)
CGTT01
REAL function slamch(CMACH)
SLAMCH
subroutine caxpy(N, CA, CX, INCX, CY, INCY)
CAXPY
subroutine cswap(N, CX, INCX, CY, INCY)
CSWAP
REAL function clanhs(NORM, N, A, LDA, WORK)
CLANHS 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