171 SUBROUTINE ssysv( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
181 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
185 REAL A( LDA, * ), B( LDB, * ), WORK( * )
209 lquery = ( lwork.EQ.-1 )
210 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
212 ELSE IF( n.LT.0 )
THEN
214 ELSE IF( nrhs.LT.0 )
THEN
216 ELSE IF( lda.LT.max( 1, n ) )
THEN
218 ELSE IF( ldb.LT.max( 1, n ) )
THEN
220 ELSE IF( lwork.LT.1 .AND. .NOT.lquery )
THEN
228 CALL ssytrf( uplo, n, a, lda, ipiv, work, -1, info )
235 CALL xerbla(
'SSYSV ', -info )
237 ELSE IF( lquery )
THEN
243 CALL ssytrf( uplo, n, a, lda, ipiv, work, lwork, info )
248 IF ( lwork.LT.n )
THEN
252 CALL ssytrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info )
258 CALL ssytrs2( uplo,n,nrhs,a,lda,ipiv,b,ldb,work,info )