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
subroutine zgttrs(TRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB, INFO)
ZGTTRS
subroutine zgtcon(NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND, WORK, INFO)
ZGTCON
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...