146 SUBROUTINE dgtcon( NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND,
147 $ work, iwork, info )
157 DOUBLE PRECISION ANORM, RCOND
160 INTEGER IPIV( * ), IWORK( * )
161 DOUBLE PRECISION D( * ), DL( * ), DU( * ), DU2( * ), WORK( * )
167 DOUBLE PRECISION ONE, ZERO
168 parameter ( one = 1.0d+0, zero = 0.0d+0 )
172 INTEGER I, KASE, KASE1
173 DOUBLE PRECISION AINVNM
190 onenrm = norm.EQ.
'1' .OR. lsame( norm,
'O' )
191 IF( .NOT.onenrm .AND. .NOT.lsame( norm,
'I' ) )
THEN
193 ELSE IF( n.LT.0 )
THEN
195 ELSE IF( anorm.LT.zero )
THEN
199 CALL xerbla(
'DGTCON', -info )
209 ELSE IF( anorm.EQ.zero )
THEN
228 CALL dlacn2( n, work( n+1 ), work, iwork, ainvnm, kase, isave )
230 IF( kase.EQ.kase1 )
THEN
234 CALL dgttrs(
'No transpose', n, 1, dl, d, du, du2, ipiv,
240 CALL dgttrs(
'Transpose', n, 1, dl, d, du, du2, ipiv, work,
249 $ rcond = ( one / ainvnm ) / anorm
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...
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dgttrs(TRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB, INFO)
DGTTRS
subroutine dgtcon(NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND, WORK, IWORK, INFO)
DGTCON