142 SUBROUTINE dgtcon( NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND,
143 $ WORK, IWORK, INFO )
152 DOUBLE PRECISION ANORM, RCOND
155 INTEGER IPIV( * ), IWORK( * )
156 DOUBLE PRECISION D( * ), DL( * ), DU( * ), DU2( * ), WORK( * )
162 DOUBLE PRECISION ONE, ZERO
163 parameter( one = 1.0d+0, zero = 0.0d+0 )
167 INTEGER I, KASE, KASE1
168 DOUBLE PRECISION AINVNM
185 onenrm = norm.EQ.
'1' .OR. lsame( norm,
'O' )
186 IF( .NOT.onenrm .AND. .NOT.lsame( norm,
'I' ) )
THEN
188 ELSE IF( n.LT.0 )
THEN
190 ELSE IF( anorm.LT.zero )
THEN
194 CALL xerbla(
'DGTCON', -info )
204 ELSE IF( anorm.EQ.zero )
THEN
223 CALL dlacn2( n, work( n+1 ), work, iwork, ainvnm, kase, isave )
225 IF( kase.EQ.kase1 )
THEN
229 CALL dgttrs(
'No transpose', n, 1, dl, d, du, du2, ipiv,
235 CALL dgttrs(
'Transpose', n, 1, dl, d, du, du2, ipiv,
245 $ rcond = ( one / ainvnm ) / anorm
subroutine dgtcon(norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, iwork, info)
DGTCON
subroutine dgttrs(trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info)
DGTTRS
subroutine dlacn2(n, v, x, isgn, est, kase, isave)
DLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...