119 SUBROUTINE zspcon( UPLO, N, AP, IPIV, ANORM, RCOND, WORK, INFO )
129 DOUBLE PRECISION ANORM, RCOND
133 COMPLEX*16 AP( * ), WORK( * )
139 DOUBLE PRECISION ONE, ZERO
140 parameter ( one = 1.0d+0, zero = 0.0d+0 )
145 DOUBLE PRECISION AINVNM
162 upper = lsame( uplo,
'U' )
163 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
165 ELSE IF( n.LT.0 )
THEN
167 ELSE IF( anorm.LT.zero )
THEN
171 CALL xerbla(
'ZSPCON', -info )
181 ELSE IF( anorm.LE.zero )
THEN
193 IF( ipiv( i ).GT.0 .AND. ap( ip ).EQ.zero )
203 IF( ipiv( i ).GT.0 .AND. ap( ip ).EQ.zero )
213 CALL zlacn2( n, work( n+1 ), work, ainvnm, kase, isave )
218 CALL zsptrs( uplo, n, 1, ap, ipiv, work, n, info )
225 $ rcond = ( one / ainvnm ) / anorm
subroutine zsptrs(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZSPTRS
subroutine zspcon(UPLO, N, AP, IPIV, ANORM, RCOND, WORK, INFO)
ZSPCON
subroutine zlacn2(N, V, X, EST, KASE, ISAVE)
ZLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...
subroutine xerbla(SRNAME, INFO)
XERBLA