164 SUBROUTINE dsysv_aa( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
174 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
178 DOUBLE PRECISION A( lda, * ), B( ldb, * ), WORK( * )
185 INTEGER LWKOPT, LWKOPT_SYTRF, LWKOPT_SYTRS
190 EXTERNAL ilaenv, lsame
203 lquery = ( lwork.EQ.-1 )
204 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
206 ELSE IF( n.LT.0 )
THEN
208 ELSE IF( nrhs.LT.0 )
THEN
210 ELSE IF( lda.LT.max( 1, n ) )
THEN
212 ELSE IF( ldb.LT.max( 1, n ) )
THEN
214 ELSE IF( lwork.LT.max(2*n, 3*n-2) .AND. .NOT.lquery )
THEN
219 CALL dsytrf_aa( uplo, n, a, lda, ipiv, work, -1, info )
220 lwkopt_sytrf = int( work(1) )
221 CALL dsytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,
223 lwkopt_sytrs = int( work(1) )
224 lwkopt = max( lwkopt_sytrf, lwkopt_sytrs )
226 IF( lwork.LT.lwkopt .AND. .NOT.lquery )
THEN
232 CALL xerbla(
'DSYSV_AA ', -info )
234 ELSE IF( lquery )
THEN
240 CALL dsytrf_aa( uplo, n, a, lda, ipiv, work, lwork, info )
245 CALL dsytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,
subroutine dsysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
DSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices ...
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dsytrf_aa(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
DSYTRF_AA
subroutine dsytrs(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
DSYTRS
subroutine dsytrf(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
DSYTRF
subroutine dsytrs2(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO)
DSYTRS2
subroutine dsytrs_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
DSYTRS_AA