lahef Interface

public interface lahef

LAHEF 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 ) ( U12H U22H ) A = ( L11 0 ) ( D 0 ) ( L11H L21H ) 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. LAHEF 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').


Subroutines

public pure subroutine clahef(uplo, n, nb, kb, a, lda, ipiv, w, ldw, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: nb
integer(kind=ilp), intent(out) :: kb
complex(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
integer(kind=ilp), intent(out) :: ipiv(*)
complex(kind=sp), intent(out) :: w(ldw,*)
integer(kind=ilp), intent(in) :: ldw
integer(kind=ilp), intent(out) :: info

public pure subroutine zlahef(uplo, n, nb, kb, a, lda, ipiv, w, ldw, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: uplo
integer(kind=ilp), intent(in) :: n
integer(kind=ilp), intent(in) :: nb
integer(kind=ilp), intent(out) :: kb
complex(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
integer(kind=ilp), intent(out) :: ipiv(*)
complex(kind=dp), intent(out) :: w(ldw,*)
integer(kind=ilp), intent(in) :: ldw
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_clahef()

Arguments

None

public interface stdlib_zlahef()

Arguments

None