125 SUBROUTINE dspcon( UPLO, N, AP, IPIV, ANORM, RCOND, WORK, IWORK,
136 DOUBLE PRECISION ANORM, RCOND
139 INTEGER IPIV( * ), IWORK( * )
140 DOUBLE PRECISION AP( * ), WORK( * )
146 DOUBLE PRECISION ONE, ZERO
147 parameter ( one = 1.0d+0, zero = 0.0d+0 )
152 DOUBLE PRECISION AINVNM
169 upper = lsame( uplo,
'U' )
170 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
172 ELSE IF( n.LT.0 )
THEN
174 ELSE IF( anorm.LT.zero )
THEN
178 CALL xerbla(
'DSPCON', -info )
188 ELSE IF( anorm.LE.zero )
THEN
200 IF( ipiv( i ).GT.0 .AND. ap( ip ).EQ.zero )
210 IF( ipiv( i ).GT.0 .AND. ap( ip ).EQ.zero )
220 CALL dlacn2( n, work( n+1 ), work, iwork, ainvnm, kase, isave )
225 CALL dsptrs( uplo, n, 1, ap, ipiv, work, n, info )
232 $ rcond = ( one / ainvnm ) / anorm
subroutine dsptrs(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
DSPTRS
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dspcon(UPLO, N, AP, IPIV, ANORM, RCOND, WORK, IWORK, INFO)
DSPCON
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...