162 SUBROUTINE ssysv_aa( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
172 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
176 REAL A( lda, * ), B( ldb, * ), WORK( * )
183 INTEGER LWKOPT, LWKOPT_SYTRF, LWKOPT_SYTRS
200 lquery = ( lwork.EQ.-1 )
201 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN 203 ELSE IF( n.LT.0 )
THEN 205 ELSE IF( nrhs.LT.0 )
THEN 207 ELSE IF( lda.LT.max( 1, n ) )
THEN 209 ELSE IF( ldb.LT.max( 1, n ) )
THEN 211 ELSE IF( lwork.LT.max(2*n, 3*n-2) .AND. .NOT.lquery )
THEN 216 CALL ssytrf_aa( uplo, n, a, lda, ipiv, work, -1, info )
217 lwkopt_sytrf = int( work(1) )
218 CALL ssytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,
220 lwkopt_sytrs = int( work(1) )
221 lwkopt = max( lwkopt_sytrf, lwkopt_sytrs )
223 IF( lwork.LT.lwkopt .AND. .NOT.lquery )
THEN 229 CALL xerbla(
'SSYSV_AA', -info )
231 ELSE IF( lquery )
THEN 237 CALL ssytrf_aa( uplo, n, a, lda, ipiv, work, lwork, info )
242 CALL ssytrs_aa( uplo, n, nrhs, a, lda, ipiv, b, ldb, work,
subroutine ssytrf_aa(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
SSYTRF_AA
subroutine ssytrs(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
SSYTRS
subroutine ssytrf(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
SSYTRF
subroutine ssytrs2(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO)
SSYTRS2
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ssytrs_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYTRS_AA
subroutine ssysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices ...