141 SUBROUTINE zgtcon( NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND,
152 DOUBLE PRECISION anorm, rcond
156 COMPLEX*16 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
188 onenrm = norm.EQ.
'1' .OR.
lsame( norm,
'O' )
189 IF( .NOT.onenrm .AND. .NOT.
lsame( norm,
'I' ) )
THEN
191 ELSE IF( n.LT.0 )
THEN
193 ELSE IF( anorm.LT.zero )
THEN
197 CALL
xerbla(
'ZGTCON', -info )
207 ELSE IF( anorm.EQ.zero )
THEN
214 IF( d( i ).EQ.dcmplx( zero ) )
226 CALL
zlacn2( n, work( n+1 ), work, ainvnm, kase, isave )
228 IF( kase.EQ.kase1 )
THEN
232 CALL
zgttrs(
'No transpose', n, 1, dl, d, du, du2, ipiv,
238 CALL
zgttrs(
'Conjugate transpose', n, 1, dl, d, du, du2,
239 $ ipiv, work, n, info )
247 $ rcond = ( one / ainvnm ) / anorm
LOGICAL function lsame(CA, CB)
LSAME
subroutine zgttrs(TRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB, INFO)
ZGTTRS
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zlacn2(N, V, X, EST, KASE, ISAVE)
ZLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...
subroutine zgtcon(NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND, WORK, INFO)
ZGTCON