128 SUBROUTINE zhetri2( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
137 INTEGER info, lda, lwork, n
141 COMPLEX*16 a( lda, * ), work( * )
147 LOGICAL upper, lquery
148 INTEGER minsize, nbmax
163 upper =
lsame( uplo,
'U' )
164 lquery = ( lwork.EQ.-1 )
166 nbmax =
ilaenv( 1,
'ZHETRF', uplo, n, -1, -1, -1 )
167 IF ( nbmax .GE. n )
THEN
170 minsize = (n+nbmax+1)*(nbmax+3)
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 (lwork .LT. minsize .AND. .NOT.lquery )
THEN
187 CALL
xerbla(
'ZHETRI2', -info )
189 ELSE IF( lquery )
THEN
196 IF( nbmax .GE. n )
THEN
197 CALL
zhetri( uplo, n, a, lda, ipiv, work, info )
199 CALL
zhetri2x( uplo, n, a, lda, ipiv, work, nbmax, info )
LOGICAL function lsame(CA, CB)
LSAME
subroutine zhetri2x(UPLO, N, A, LDA, IPIV, WORK, NB, INFO)
ZHETRI2X
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zhetri2(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZHETRI2
INTEGER function ilaenv(ISPEC, NAME, OPTS, N1, N2, N3, N4)
subroutine zhetri(UPLO, N, A, LDA, IPIV, WORK, INFO)
ZHETRI