123 SUBROUTINE dspcon( UPLO, N, AP, IPIV, ANORM, RCOND, WORK, IWORK,
133 DOUBLE PRECISION ANORM, RCOND
136 INTEGER IPIV( * ), IWORK( * )
137 DOUBLE PRECISION AP( * ), WORK( * )
143 DOUBLE PRECISION ONE, ZERO
144 parameter( one = 1.0d+0, zero = 0.0d+0 )
149 DOUBLE PRECISION AINVNM
166 upper = lsame( uplo,
'U' )
167 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
169 ELSE IF( n.LT.0 )
THEN
171 ELSE IF( anorm.LT.zero )
THEN
175 CALL xerbla(
'DSPCON', -info )
185 ELSE IF( anorm.LE.zero )
THEN
197 IF( ipiv( i ).GT.0 .AND. ap( ip ).EQ.zero )
207 IF( ipiv( i ).GT.0 .AND. ap( ip ).EQ.zero )
217 CALL dlacn2( n, work( n+1 ), work, iwork, ainvnm, kase, isave )
222 CALL dsptrs( uplo, n, 1, ap, ipiv, work, n, info )
229 $ rcond = ( one / ainvnm ) / anorm
subroutine xerbla(srname, info)
subroutine dspcon(uplo, n, ap, ipiv, anorm, rcond, work, iwork, info)
DSPCON
subroutine dsptrs(uplo, n, nrhs, ap, ipiv, b, ldb, info)
DSPTRS
subroutine dlacn2(n, v, x, isgn, est, kase, isave)
DLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...