228 SUBROUTINE zhesv_rk( UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK,
238 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
242 COMPLEX*16 A( LDA, * ), B( LDB, * ), E( * ), WORK( * )
266 lquery = ( lwork.EQ.-1 )
267 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
269 ELSE IF( n.LT.0 )
THEN
271 ELSE IF( nrhs.LT.0 )
THEN
273 ELSE IF( lda.LT.max( 1, n ) )
THEN
275 ELSE IF( ldb.LT.max( 1, n ) )
THEN
277 ELSE IF( lwork.LT.1 .AND. .NOT.lquery )
THEN
285 CALL zhetrf_rk( uplo, n, a, lda, e, ipiv, work, -1, info )
292 CALL xerbla(
'ZHESV_RK ', -info )
294 ELSE IF( lquery )
THEN
301 CALL zhetrf_rk( uplo, n, a, lda, e, ipiv, work, lwork, info )
307 CALL zhetrs_3( uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info )