Provided by: liblapack-doc-man_3.5.0-2ubuntu1_all bug

NAME

       clahef.f -

SYNOPSIS

   Functions/Subroutines
       subroutine clahef (UPLO, N, NB, KB, A, LDA, IPIV, W, LDW, INFO)
           CLAHEF computes a partial factorization of a complex Hermitian indefinite matrix using the Bunch-
           Kaufman diagonal pivoting method (blocked algorithm, calling Level 3 BLAS).

Function/Subroutine Documentation

   subroutine clahef (characterUPLO, integerN, integerNB, integerKB, complex, dimension( lda, * )A, integerLDA,
       integer, dimension( * )IPIV, complex, dimension( ldw, * )W, integerLDW, integerINFO)
       CLAHEF computes a partial factorization of a complex Hermitian indefinite matrix using the Bunch-Kaufman
       diagonal pivoting method (blocked algorithm, calling Level 3 BLAS).

       Purpose:

            CLAHEF computes a partial factorization of a complex Hermitian
            matrix A using the Bunch-Kaufman 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.

            CLAHEF is an auxiliary routine called by CHETRF. 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 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) = IPIV(k-1) < 0, then rows and columns
                        k-1 and -IPIV(k) were interchanged and 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) = IPIV(k+1) < 0, then rows and columns
                        k+1 and -IPIV(k) were interchanged and D(k:k+1,k:k+1)
                        is a 2-by-2 diagonal block.

           W

                     W is COMPLEX 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

       Definition at line 178 of file clahef.f.

Author

       Generated automatically by Doxygen for LAPACK from the source code.

Version 3.4.2                                    Wed Feb 26 2014                                     clahef.f(3)