162 SUBROUTINE zsysv_aa( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
172 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
176 COMPLEX*16 A( LDA, * ), B( LDB, * ), WORK( * )
183 INTEGER LWKOPT, LWKOPT_SYTRF, LWKOPT_SYTRS
188 EXTERNAL ilaenv, lsame
201 lquery = ( lwork.EQ.-1 )
202 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
204 ELSE IF( n.LT.0 )
THEN
206 ELSE IF( nrhs.LT.0 )
THEN
208 ELSE IF( lda.LT.max( 1, n ) )
THEN
210 ELSE IF( ldb.LT.max( 1, n ) )
THEN
212 ELSE IF( lwork.LT.max(2*n, 3*n-2) .AND. .NOT.lquery )
THEN
217 CALL zsytrf_aa( uplo, n, a, lda, ipiv, work, -1, info )
218 lwkopt_sytrf = int( work(1) )
219 CALL zsytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,
221 lwkopt_sytrs = int( work(1) )
222 lwkopt = max( lwkopt_sytrf, lwkopt_sytrs )
227 CALL xerbla(
'ZSYSV_AA ', -info )
229 ELSE IF( lquery )
THEN
235 CALL zsytrf_aa( uplo, n, a, lda, ipiv, work, lwork, info )
240 CALL zsytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,