123 SUBROUTINE zhecon( UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK,
133 DOUBLE PRECISION ANORM, RCOND
137 COMPLEX*16 A( LDA, * ), WORK( * )
143 DOUBLE PRECISION ONE, ZERO
144 parameter( one = 1.0d+0, zero = 0.0d+0 )
149 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( lda.LT.max( 1, n ) )
THEN
176 ELSE IF( anorm.LT.zero )
THEN
180 CALL xerbla(
'ZHECON', -info )
190 ELSE IF( anorm.LE.zero )
THEN
201 IF( ipiv( i ).GT.0 .AND. a( i, i ).EQ.zero )
209 IF( ipiv( i ).GT.0 .AND. a( i, i ).EQ.zero )
218 CALL zlacn2( n, work( n+1 ), work, ainvnm, kase, isave )
223 CALL zhetrs( uplo, n, 1, a, lda, ipiv, work, n, info )
230 $ rcond = ( one / ainvnm ) / anorm
subroutine xerbla(srname, info)
subroutine zhecon(uplo, n, a, lda, ipiv, anorm, rcond, work, info)
ZHECON
subroutine zhetrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
ZHETRS
subroutine zlacn2(n, v, x, est, kase, isave)
ZLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...