137 SUBROUTINE zgtcon( NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND,
147 DOUBLE PRECISION ANORM, RCOND
151 COMPLEX*16 D( * ), DL( * ), DU( * ), DU2( * ), WORK( * )
157 DOUBLE PRECISION ONE, ZERO
158 parameter( one = 1.0d+0, zero = 0.0d+0 )
162 INTEGER I, KASE, KASE1
163 DOUBLE PRECISION AINVNM
183 onenrm = norm.EQ.
'1' .OR. lsame( norm,
'O' )
184 IF( .NOT.onenrm .AND. .NOT.lsame( norm,
'I' ) )
THEN
186 ELSE IF( n.LT.0 )
THEN
188 ELSE IF( anorm.LT.zero )
THEN
192 CALL xerbla(
'ZGTCON', -info )
202 ELSE IF( anorm.EQ.zero )
THEN
209 IF( d( i ).EQ.dcmplx( zero ) )
221 CALL zlacn2( n, work( n+1 ), work, ainvnm, kase, isave )
223 IF( kase.EQ.kase1 )
THEN
227 CALL zgttrs(
'No transpose', n, 1, dl, d, du, du2, ipiv,
233 CALL zgttrs(
'Conjugate transpose', n, 1, dl, d, du, du2,
234 $ ipiv, work, n, info )
242 $ rcond = ( one / ainvnm ) / anorm
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...