162 SUBROUTINE csysv_aa( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
172 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
176 COMPLEX 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 csytrf_aa( uplo, n, a, lda, ipiv, work, -1, info )
218 lwkopt_sytrf = int( work(1) )
219 CALL csytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,
221 lwkopt_sytrs = int( work(1) )
222 lwkopt = max( lwkopt_sytrf, lwkopt_sytrs )
224 IF( lwork.LT.lwkopt .AND. .NOT.lquery )
THEN
230 CALL xerbla(
'CSYSV_AA ', -info )
232 ELSE IF( lquery )
THEN
238 CALL csytrf_aa( uplo, n, a, lda, ipiv, work, lwork, info )
243 CALL csytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,
subroutine csytrs_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYTRS_AA
subroutine csytrf_aa(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
CSYTRF_AA
subroutine csysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine csytrs(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CSYTRS
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine csytrf(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
CSYTRF
subroutine csytrs2(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO)
CSYTRS2