CLAHEF(3)
π CLAHEF(3) β like, the whole vibe
okay so real quick before we dive in: this is a page from the Library Functions Manual, and the file it lives in is /home/abui...RC/clahef.f(3). yes the path is giving truncated-build-directory energy, we love that for us π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/clahef.f β that's the whole name, bestie. it's a mouthful, it's iconic, it's literally just the source file path. π
πΈ 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 (character uplo, integer n, integer nb, integer kb,
complex, dimension( lda, * ) a, integer lda, integer, dimension( * )
ipiv, complex, dimension( ldw, * ) w, integer ldw, integer 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).
π§ Purpose
ok so picture this β 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 gets handed back to you in the argument KB, and it's either NB or NB-1, or N if N <= NB. also quick note, U**H means the conjugate transpose of U β iykyk π«
CLAHEF is an auxiliary routine called by CHETRF. it uses blocked code (calling Level 3 BLAS, fancy) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L'). β¨
π Parameters π
UPLO
UPLO is CHARACTER*1 β it 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. (like, genuinely, at least 2. don't skip that.)
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, it's 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. main character transformation, honestly π
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. this one's got layers, so:
If UPLO = 'U':
- only the last
KBelements ofIPIVare set. - if
IPIV(k) > 0, then rows and columnskandIPIV(k)were interchanged andD(k,k)is a 1-by-1 diagonal block. - if
IPIV(k) = IPIV(k-1) < 0, then rows and columnsk-1and-IPIV(k)were interchanged andD(k-1:k,k-1:k)is a 2-by-2 diagonal block.
If UPLO = 'L':
- only the first
KBelements ofIPIVare set. - if
IPIV(k) > 0, then rows and columnskandIPIV(k)were interchanged andD(k,k)is a 1-by-1 diagonal block. - if
IPIV(k) = IPIV(k+1) < 0, then rows and columnsk+1and-IPIV(k)were interchanged andD(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: ifINFO = k,D(k,k)is exactly zero. the factorization has been completed, but the block diagonal matrix D is exactly singular. π (completed but singular is such a specific heartbreak)
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors
November 2013, Igor Kozachenko, Computer Science Division, University of California, Berkeley.
β Definition at line 176 of file clahef.f.
Author
Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a little documentation goblin doing its thing π§)
and that's the whole page bestie! this one's brought to you by LAPACK, Version 3.12.0, living at /home/abui...RC/clahef.f(3) β slay, go factor something Hermitian πβ¨π¦πΈ
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms