126 SUBROUTINE dsycon( UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK,
136 DOUBLE PRECISION ANORM, RCOND
139 INTEGER IPIV( * ), IWORK( * )
140 DOUBLE PRECISION A( LDA, * ), WORK( * )
146 DOUBLE PRECISION ONE, ZERO
147 parameter( one = 1.0d+0, zero = 0.0d+0 )
152 DOUBLE PRECISION AINVNM
172 upper = lsame( uplo,
'U' )
173 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
175 ELSE IF( n.LT.0 )
THEN
177 ELSE IF( lda.LT.max( 1, n ) )
THEN
179 ELSE IF( anorm.LT.zero )
THEN
183 CALL xerbla(
'DSYCON', -info )
193 ELSE IF( anorm.LE.zero )
THEN
204 IF( ipiv( i ).GT.0 .AND. a( i, i ).EQ.zero )
212 IF( ipiv( i ).GT.0 .AND. a( i, i ).EQ.zero )
221 CALL dlacn2( n, work( n+1 ), work, iwork, ainvnm, kase, isave )
226 CALL dsytrs( uplo, n, 1, a, lda, ipiv, work, n, info )
233 $ rcond = ( one / ainvnm ) / anorm
subroutine dsycon(uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)
DSYCON
subroutine dsytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
DSYTRS
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...