202 SUBROUTINE csysv_rook( UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK,
211 INTEGER INFO, LDA, LDB, LWORK, N, NRHS
215 COMPLEX A( LDA, * ), B( LDB, * ), WORK( * )
227 EXTERNAL lsame, sroundup_lwork
240 lquery = ( lwork.EQ.-1 )
241 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
243 ELSE IF( n.LT.0 )
THEN
245 ELSE IF( nrhs.LT.0 )
THEN
247 ELSE IF( lda.LT.max( 1, n ) )
THEN
249 ELSE IF( ldb.LT.max( 1, n ) )
THEN
251 ELSE IF( lwork.LT.1 .AND. .NOT.lquery )
THEN
259 CALL csytrf_rook( uplo, n, a, lda, ipiv, work, -1, info )
260 lwkopt = int( work( 1 ) )
262 work( 1 ) = sroundup_lwork(lwkopt)
266 CALL xerbla(
'CSYSV_ROOK ', -info )
268 ELSE IF( lquery )
THEN
274 CALL csytrf_rook( uplo, n, a, lda, ipiv, work, lwork, info )
281 CALL csytrs_rook( uplo, n, nrhs, a, lda, ipiv, b, ldb, info )
285 work( 1 ) = sroundup_lwork(lwkopt)
subroutine xerbla(srname, info)
subroutine csysv_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
CSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices
subroutine csytrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
CSYTRF_ROOK
subroutine csytrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
CSYTRS_ROOK