214      INTEGER            INFO, LDA, LWORK, N
 
  218      DOUBLE PRECISION   A( LDA, * ), WORK( * )
 
  224      LOGICAL            LQUERY, UPPER
 
  225      INTEGER            IINFO, IWS, J, K, KB, LDWORK, LWKOPT, NB, NBMIN
 
  230      EXTERNAL           lsame, ilaenv
 
  243      upper = lsame( uplo, 
'U' )
 
  244      lquery = ( lwork.EQ.-1 )
 
  245      IF( .NOT.upper .AND. .NOT.lsame( uplo, 
'L' ) ) 
THEN 
  247      ELSE IF( n.LT.0 ) 
THEN 
  249      ELSE IF( lda.LT.max( 1, n ) ) 
THEN 
  251      ELSE IF( lwork.LT.1 .AND. .NOT.lquery ) 
THEN 
  259         nb = ilaenv( 1, 
'DSYTRF_ROOK', uplo, n, -1, -1, -1 )
 
  260         lwkopt = max( 1, n*nb )
 
  265         CALL xerbla( 
'DSYTRF_ROOK', -info )
 
  267      ELSE IF( lquery ) 
THEN 
  273      IF( nb.GT.1 .AND. nb.LT.n ) 
THEN 
  275         IF( lwork.LT.iws ) 
THEN 
  276            nb = max( lwork / ldwork, 1 )
 
  277            nbmin = max( 2, ilaenv( 2, 
'DSYTRF_ROOK',
 
  278     $                              uplo, n, -1, -1, -1 ) )
 
  308     $                        ipiv, work, ldwork, iinfo )
 
  319         IF( info.EQ.0 .AND. iinfo.GT.0 )
 
  350            CALL dlasyf_rook( uplo, n-k+1, nb, kb, a( k, k ), lda,
 
  351     $                        ipiv( k ), work, ldwork, iinfo )
 
  356            CALL dsytf2_rook( uplo, n-k+1, a( k, k ), lda, ipiv( k ),
 
  363         IF( info.EQ.0 .AND. iinfo.GT.0 )
 
  364     $      info = iinfo + k - 1
 
  368         DO 30 j = k, k + kb - 1
 
  369            IF( ipiv( j ).GT.0 ) 
THEN 
  370               ipiv( j ) = ipiv( j ) + k - 1
 
  372               ipiv( j ) = ipiv( j ) - k + 1
 
 
subroutine dsytf2_rook(uplo, n, a, lda, ipiv, info)
DSYTF2_ROOK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-...
subroutine dsytrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
DSYTRF_ROOK
subroutine dlasyf_rook(uplo, n, nb, kb, a, lda, ipiv, w, ldw, info)
DLASYF_ROOK *> DLASYF_ROOK computes a partial factorization of a real symmetric matrix using the boun...