115      SUBROUTINE cspcon( UPLO, N, AP, IPIV, ANORM, RCOND, WORK,
 
  129      COMPLEX            AP( * ), WORK( * )
 
  136      parameter( one = 1.0e+0, zero = 0.0e+0 )
 
  158      upper = lsame( uplo, 
'U' )
 
  159      IF( .NOT.upper .AND. .NOT.lsame( uplo, 
'L' ) ) 
THEN 
  161      ELSE IF( n.LT.0 ) 
THEN 
  163      ELSE IF( anorm.LT.zero ) 
THEN 
  167         CALL xerbla( 
'CSPCON', -info )
 
  177      ELSE IF( anorm.LE.zero ) 
THEN 
  189            IF( ipiv( i ).GT.0 .AND. ap( ip ).EQ.zero )
 
  199            IF( ipiv( i ).GT.0 .AND. ap( ip ).EQ.zero )
 
  209      CALL clacn2( n, work( n+1 ), work, ainvnm, kase, isave )
 
  214         CALL csptrs( uplo, n, 1, ap, ipiv, work, n, info )
 
  221     $   rcond = ( one / ainvnm ) / anorm
 
 
subroutine cspcon(uplo, n, ap, ipiv, anorm, rcond, work, info)
CSPCON
subroutine csptrs(uplo, n, nrhs, ap, ipiv, b, ldb, info)
CSPTRS
subroutine clacn2(n, v, x, est, kase, isave)
CLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...