126 SUBROUTINE csytri2( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
134 INTEGER INFO, LDA, LWORK, N
138 COMPLEX A( LDA, * ), WORK( * )
144 LOGICAL UPPER, LQUERY
145 INTEGER MINSIZE, NBMAX
150 EXTERNAL lsame, ilaenv
160 upper = lsame( uplo,
'U' )
161 lquery = ( lwork.EQ.-1 )
163 nbmax = ilaenv( 1,
'CSYTRI2', uplo, n, -1, -1, -1 )
164 IF ( nbmax .GE. n )
THEN
167 minsize = (n+nbmax+1)*(nbmax+3)
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 (lwork .LT. minsize .AND. .NOT.lquery )
THEN
184 CALL xerbla(
'CSYTRI2', -info )
186 ELSE IF( lquery )
THEN
193 IF( nbmax .GE. n )
THEN
194 CALL csytri( uplo, n, a, lda, ipiv, work, info )
196 CALL csytri2x( uplo, n, a, lda, ipiv, work, nbmax, info )
subroutine xerbla(srname, info)
subroutine csytri2(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRI2
subroutine csytri2x(uplo, n, a, lda, ipiv, work, nb, info)
CSYTRI2X
subroutine csytri(uplo, n, a, lda, ipiv, work, info)
CSYTRI