141 SUBROUTINE cgtcon( NORM, N, DL, D, DU, DU2, IPIV, ANORM, RCOND,
156 COMPLEX d( * ), dl( * ), du( * ), du2( * ), work( * )
163 parameter( one = 1.0e+0, zero = 0.0e+0 )
167 INTEGER i, kase, kase1
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(
'CGTCON', -info )
207 ELSE IF( anorm.EQ.zero )
THEN
214 IF( d( i ).EQ.cmplx( zero ) )
226 CALL
clacn2( n, work( n+1 ), work, ainvnm, kase, isave )
228 IF( kase.EQ.kase1 )
THEN
232 CALL
cgttrs(
'No transpose', n, 1, dl, d, du, du2, ipiv,
238 CALL
cgttrs(
'Conjugate transpose', n, 1, dl, d, du, du2,
239 $ ipiv, work, n, info )
247 $ rcond = ( one / ainvnm ) / anorm