169 SUBROUTINE chesv( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
178 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
182 COMPLEX A( LDA, * ), B( LDB, * ), WORK( * )
195 EXTERNAL lsame, ilaenv, sroundup_lwork
208 lquery = ( lwork.EQ.-1 )
209 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
211 ELSE IF( n.LT.0 )
THEN
213 ELSE IF( nrhs.LT.0 )
THEN
215 ELSE IF( lda.LT.max( 1, n ) )
THEN
217 ELSE IF( ldb.LT.max( 1, n ) )
THEN
219 ELSE IF( lwork.LT.1 .AND. .NOT.lquery )
THEN
227 nb = ilaenv( 1,
'CHETRF', uplo, n, -1, -1, -1 )
230 work( 1 ) = sroundup_lwork(lwkopt)
234 CALL xerbla(
'CHESV ', -info )
236 ELSE IF( lquery )
THEN
242 CALL chetrf( uplo, n, a, lda, ipiv, work, lwork, info )
247 IF ( lwork.LT.n )
THEN
251 CALL chetrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info )
257 CALL chetrs2( uplo,n,nrhs,a,lda,ipiv,b,ldb,work,info )
263 work( 1 ) = sroundup_lwork(lwkopt)
subroutine xerbla(srname, info)
subroutine chesv(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
CHESV computes the solution to system of linear equations A * X = B for HE matrices
subroutine chetrf(uplo, n, a, lda, ipiv, work, lwork, info)
CHETRF
subroutine chetrs2(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, info)
CHETRS2
subroutine chetrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
CHETRS