167 SUBROUTINE dsysv( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
176 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
180 DOUBLE PRECISION A( LDA, * ), B( LDB, * ), WORK( * )
204 lquery = ( lwork.EQ.-1 )
205 IF( .NOT.lsame( uplo,
'U' ) .AND.
206 $ .NOT.lsame( uplo,
'L' ) )
THEN
208 ELSE IF( n.LT.0 )
THEN
210 ELSE IF( nrhs.LT.0 )
THEN
212 ELSE IF( lda.LT.max( 1, n ) )
THEN
214 ELSE IF( ldb.LT.max( 1, n ) )
THEN
216 ELSE IF( lwork.LT.1 .AND. .NOT.lquery )
THEN
224 CALL dsytrf( uplo, n, a, lda, ipiv, work, -1, info )
225 lwkopt = int( work( 1 ) )
231 CALL xerbla(
'DSYSV ', -info )
233 ELSE IF( lquery )
THEN
239 CALL dsytrf( uplo, n, a, lda, ipiv, work, lwork, info )
244 IF ( lwork.LT.n )
THEN
248 CALL dsytrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info )
254 CALL dsytrs2( uplo,n,nrhs,a,lda,ipiv,b,ldb,work,info )
subroutine dsysv(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
DSYSV computes the solution to system of linear equations A * X = B for SY matrices
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(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
DSYTRS