144 SUBROUTINE dgtcon( NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND,
145 $ WORK, IWORK, INFO )
154 DOUBLE PRECISION ANORM, RCOND
157 INTEGER IPIV( * ), IWORK( * )
158 DOUBLE PRECISION D( * ), DL( * ), DU( * ), DU2( * ), WORK( * )
164 DOUBLE PRECISION ONE, ZERO
165 parameter( one = 1.0d+0, zero = 0.0d+0 )
169 INTEGER I, KASE, KASE1
170 DOUBLE PRECISION AINVNM
187 onenrm = norm.EQ.
'1' .OR. lsame( norm,
'O' )
188 IF( .NOT.onenrm .AND. .NOT.lsame( norm,
'I' ) )
THEN 190 ELSE IF( n.LT.0 )
THEN 192 ELSE IF( anorm.LT.zero )
THEN 196 CALL xerbla(
'DGTCON', -info )
206 ELSE IF( anorm.EQ.zero )
THEN 225 CALL dlacn2( n, work( n+1 ), work, iwork, ainvnm, kase, isave )
227 IF( kase.EQ.kase1 )
THEN 231 CALL dgttrs(
'No transpose', n, 1, dl, d, du, du2, ipiv,
237 CALL dgttrs(
'Transpose', n, 1, dl, d, du, du2, ipiv, work,
246 $ rcond = ( one / ainvnm ) / anorm
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
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...