209 SUBROUTINE ssytrf_rook( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO )
218 INTEGER info, lda, lwork, n
222 REAL a( lda, * ), work( * )
228 LOGICAL lquery, upper
229 INTEGER iinfo, iws,
j, k, kb, ldwork, lwkopt, nb, nbmin
247 upper =
lsame( uplo,
'U' )
248 lquery = ( lwork.EQ.-1 )
249 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
251 ELSE IF( n.LT.0 )
THEN
253 ELSE IF( lda.LT.max( 1, n ) )
THEN
255 ELSE IF( lwork.LT.1 .AND. .NOT.lquery )
THEN
263 nb =
ilaenv( 1,
'SSYTRF_ROOK', uplo, n, -1, -1, -1 )
269 CALL
xerbla(
'SSYTRF_ROOK', -info )
271 ELSE IF( lquery )
THEN
277 IF( nb.GT.1 .AND. nb.LT.n )
THEN
279 IF( lwork.LT.iws )
THEN
280 nb = max( lwork / ldwork, 1 )
281 nbmin = max( 2,
ilaenv( 2,
'SSYTRF_ROOK',
282 $ uplo, n, -1, -1, -1 ) )
312 $ ipiv, work, ldwork, iinfo )
323 IF( info.EQ.0 .AND. iinfo.GT.0 )
354 CALL
slasyf_rook( uplo, n-k+1, nb, kb, a( k, k ), lda,
355 $ ipiv( k ), work, ldwork, iinfo )
360 CALL
ssytf2_rook( uplo, n-k+1, a( k, k ), lda, ipiv( k ),
367 IF( info.EQ.0 .AND. iinfo.GT.0 )
368 $ info = iinfo + k - 1
372 DO 30
j = k, k + kb - 1
373 IF( ipiv(
j ).GT.0 )
THEN
374 ipiv(
j ) = ipiv(
j ) + k - 1
376 ipiv(
j ) = ipiv(
j ) - k + 1
subroutine ssytrf_rook(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
SSYTRF_ROOK
subroutine xerbla(SRNAME, INFO)
XERBLA
logical function lsame(CA, CB)
LSAME
subroutine ssytf2_rook(UPLO, N, A, LDA, IPIV, INFO)
SSYTF2_ROOK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-...
subroutine slasyf_rook(UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO)
SLASYF_ROOK computes a partial factorization of a real symmetric matrix using the bounded Bunch-Kaufm...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
integer function ilaenv(ISPEC, NAME, OPTS, N1, N2, N3, N4)