Provided by: liblapack-doc-man_3.6.0-2ubuntu2_all bug

NAME

       zlahef_rook.f -

SYNOPSIS

   Functions/Subroutines
       subroutine zlahef_rook (UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO)

Function/Subroutine Documentation

   subroutine zlahef_rook (character UPLO, integer N, integer NB, integer KB, complex*16,
       dimension( lda, * ) A, integer LDA, integer, dimension( * ) IPIV, complex*16, dimension(
       ldw, * ) W, integer LDW, integer INFO)
       Purpose:

            ZLAHEF_ROOK computes a partial factorization of a complex Hermitian
            matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting
            method. The partial factorization has the form:

            A  =  ( I  U12 ) ( A11  0  ) (  I      0     )  if UPLO = 'U', or:
                  ( 0  U22 ) (  0   D  ) ( U12**H U22**H )

            A  =  ( L11  0 ) (  D   0  ) ( L11**H L21**H )  if UPLO = 'L'
                  ( L21  I ) (  0  A22 ) (  0      I     )

            where the order of D is at most NB. The actual order is returned in
            the argument KB, and is either NB or NB-1, or N if N <= NB.
            Note that U**H denotes the conjugate transpose of U.

            ZLAHEF_ROOK is an auxiliary routine called by ZHETRF_ROOK. It uses
            blocked code (calling Level 3 BLAS) to update the submatrix
            A11 (if UPLO = 'U') or A22 (if UPLO = 'L').

       Parameters:
           UPLO

                     UPLO is CHARACTER*1
                     Specifies whether the upper or lower triangular part of the
                     Hermitian matrix A is stored:
                     = 'U':  Upper triangular
                     = 'L':  Lower triangular

           N

                     N is INTEGER
                     The order of the matrix A.  N >= 0.

           NB

                     NB is INTEGER
                     The maximum number of columns of the matrix A that should be
                     factored.  NB should be at least 2 to allow for 2-by-2 pivot
                     blocks.

           KB

                     KB is INTEGER
                     The number of columns of A that were actually factored.
                     KB is either NB-1 or NB, or N if N <= NB.

           A

                     A is COMPLEX*16 array, dimension (LDA,N)
                     On entry, the Hermitian matrix A.  If UPLO = 'U', the leading
                     n-by-n upper triangular part of A contains the upper
                     triangular part of the matrix A, and the strictly lower
                     triangular part of A is not referenced.  If UPLO = 'L', the
                     leading n-by-n lower triangular part of A contains the lower
                     triangular part of the matrix A, and the strictly upper
                     triangular part of A is not referenced.
                     On exit, A contains details of the partial factorization.

           LDA

                     LDA is INTEGER
                     The leading dimension of the array A.  LDA >= max(1,N).

           IPIV

                     IPIV is INTEGER array, dimension (N)
                     Details of the interchanges and the block structure of D.

                     If UPLO = 'U':
                        Only the last KB elements of IPIV are set.

                        If IPIV(k) > 0, then rows and columns k and IPIV(k) were
                        interchanged and D(k,k) is a 1-by-1 diagonal block.

                        If IPIV(k) < 0 and IPIV(k-1) < 0, then rows and
                        columns k and -IPIV(k) were interchanged and rows and
                        columns k-1 and -IPIV(k-1) were inerchaged,
                        D(k-1:k,k-1:k) is a 2-by-2 diagonal block.

                     If UPLO = 'L':
                        Only the first KB elements of IPIV are set.

                        If IPIV(k) > 0, then rows and columns k and IPIV(k)
                        were interchanged and D(k,k) is a 1-by-1 diagonal block.

                        If IPIV(k) < 0 and IPIV(k+1) < 0, then rows and
                        columns k and -IPIV(k) were interchanged and rows and
                        columns k+1 and -IPIV(k+1) were inerchaged,
                        D(k:k+1,k:k+1) is a 2-by-2 diagonal block.

           W

                     W is COMPLEX*16 array, dimension (LDW,NB)

           LDW

                     LDW is INTEGER
                     The leading dimension of the array W.  LDW >= max(1,N).

           INFO

                     INFO is INTEGER
                     = 0: successful exit
                     > 0: if INFO = k, D(k,k) is exactly zero.  The factorization
                          has been completed, but the block diagonal matrix D is
                          exactly singular.

       Author:
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

       Date:
           November 2013

       Contributors:

             November 2013,  Igor Kozachenko,
                             Computer Science Division,
                             University of California, Berkeley

             September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
                             School of Mathematics,
                             University of Manchester

Author

       Generated automatically by Doxygen for LAPACK from the source code.