169 SUBROUTINE dsysv( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
178 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
182 DOUBLE PRECISION A( LDA, * ), B( LDB, * ), WORK( * )
206 lquery = ( lwork.EQ.-1 )
207 IF( .NOT.lsame( uplo,
'U' ) .AND. .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 dsytrf( uplo, n, a, lda, ipiv, work, -1, info )
226 lwkopt = int( work( 1 ) )
232 CALL xerbla(
'DSYSV ', -info )
234 ELSE IF( lquery )
THEN
240 CALL dsytrf( uplo, n, a, lda, ipiv, work, lwork, info )
245 IF ( lwork.LT.n )
THEN
249 CALL dsytrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info )
255 CALL dsytrs2( uplo,n,nrhs,a,lda,ipiv,b,ldb,work,info )
subroutine xerbla(srname, 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