169 SUBROUTINE ssysv( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
178 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
182 REAL A( LDA, * ), B( LDB, * ), WORK( * )
194 EXTERNAL lsame, sroundup_lwork
207 lquery = ( lwork.EQ.-1 )
208 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
210 ELSE IF( n.LT.0 )
THEN
212 ELSE IF( nrhs.LT.0 )
THEN
214 ELSE IF( lda.LT.max( 1, n ) )
THEN
216 ELSE IF( ldb.LT.max( 1, n ) )
THEN
218 ELSE IF( lwork.LT.1 .AND. .NOT.lquery )
THEN
226 CALL ssytrf( uplo, n, a, lda, ipiv, work, -1, info )
227 lwkopt = int( work( 1 ) )
229 work( 1 ) = sroundup_lwork(lwkopt)
233 CALL xerbla(
'SSYSV ', -info )
235 ELSE IF( lquery )
THEN
241 CALL ssytrf( uplo, n, a, lda, ipiv, work, lwork, info )
246 IF ( lwork.LT.n )
THEN
250 CALL ssytrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info )
256 CALL ssytrs2( uplo,n,nrhs,a,lda,ipiv,b,ldb,work,info )
262 work( 1 ) = sroundup_lwork(lwkopt)
subroutine xerbla(srname, info)
subroutine ssysv(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
SSYSV computes the solution to system of linear equations A * X = B for SY matrices
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 ssytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
SSYTRS