167 SUBROUTINE chesv( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
176 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
180 COMPLEX A( LDA, * ), B( LDB, * ), WORK( * )
193 EXTERNAL lsame, ilaenv, sroundup_lwork
206 lquery = ( lwork.EQ.-1 )
207 IF( .NOT.lsame( uplo,
'U' ) .AND.
208 $ .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 nb = ilaenv( 1,
'CHETRF', uplo, n, -1, -1, -1 )
229 work( 1 ) = sroundup_lwork(lwkopt)
233 CALL xerbla(
'CHESV ', -info )
235 ELSE IF( lquery )
THEN
241 CALL chetrf( uplo, n, a, lda, ipiv, work, lwork, info )
246 IF ( lwork.LT.n )
THEN
250 CALL chetrs( uplo, n, nrhs, a, lda, ipiv, b, ldb, info )
256 CALL chetrs2( uplo,n,nrhs,a,lda,ipiv,b,ldb,work,info )
262 work( 1 ) = sroundup_lwork(lwkopt)
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