167 SUBROUTINE ssysv( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
176 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
180 REAL A( LDA, * ), B( LDB, * ), WORK( * )
192 EXTERNAL lsame, sroundup_lwork
205 lquery = ( lwork.EQ.-1 )
206 IF( .NOT.lsame( uplo,
'U' ) .AND.
207 $ .NOT.lsame( uplo,
'L' ) )
THEN
209 ELSE IF( n.LT.0 )
THEN
211 ELSE IF( nrhs.LT.0 )
THEN
213 ELSE IF( lda.LT.max( 1, n ) )
THEN
215 ELSE IF( ldb.LT.max( 1, n ) )
THEN
217 ELSE IF( lwork.LT.1 .AND. .NOT.lquery )
THEN
225 CALL ssytrf( uplo, n, a, lda, ipiv, work, -1, info )
226 lwkopt = int( work( 1 ) )
228 work( 1 ) = sroundup_lwork(lwkopt)
232 CALL xerbla(
'SSYSV ', -info )
234 ELSE IF( lquery )
THEN
240 CALL ssytrf( uplo, n, a, lda, ipiv, work, lwork, info )
245 IF ( lwork.LT.n )
THEN
249 CALL ssytrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info )
255 CALL ssytrs2( uplo,n,nrhs,a,lda,ipiv,b,ldb,work,info )
261 work( 1 ) = sroundup_lwork(lwkopt)
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