139 SUBROUTINE zgtcon( NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND,
149 DOUBLE PRECISION ANORM, RCOND
153 COMPLEX*16 D( * ), DL( * ), DU( * ), DU2( * ), WORK( * )
159 DOUBLE PRECISION ONE, ZERO
160 parameter( one = 1.0d+0, zero = 0.0d+0 )
164 INTEGER I, KASE, KASE1
165 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(
'ZGTCON', -info )
204 ELSE IF( anorm.EQ.zero )
THEN
211 IF( d( i ).EQ.dcmplx( zero ) )
223 CALL zlacn2( n, work( n+1 ), work, ainvnm, kase, isave )
225 IF( kase.EQ.kase1 )
THEN
229 CALL zgttrs(
'No transpose', n, 1, dl, d, du, du2, ipiv,
235 CALL zgttrs(
'Conjugate transpose', n, 1, dl, d, du, du2,
236 $ ipiv, work, n, info )
244 $ rcond = ( one / ainvnm ) / anorm
subroutine xerbla(srname, info)
subroutine zgtcon(norm, n, dl, d, du, du2, ipiv, anorm, rcond, work, info)
ZGTCON
subroutine zgttrs(trans, n, nrhs, dl, d, du, du2, ipiv, b, ldb, info)
ZGTTRS
subroutine zlacn2(n, v, x, est, kase, isave)
ZLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...