/home/abui...lahef_aa.f(3)
Okay bestie, this is /home/abui...lahef_aa.f(3) from the Library Functions Manual β we're doing LAPACK subroutine lore today and it's honestly iconic. β¨
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zlahef_aa.f
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ZLAHEF_AA (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)
ZLAHEF_AA
π Function/Subroutine Documentation π
π«Ά subroutine ZLAHEF_AA
subroutine ZLAHEF_AA (character uplo, integer j1, integer m, integer nb,
complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * )
ipiv, complex*16, dimension( ldh, * ) h, integer ldh, complex*16,
dimension( * ) work)
ZLAHEF_AA
π‘ Purpose:
Bestie, the source block literally starts withDLAHEF_AAeven though this isZLAHEF_AAβ I'm keeping that exact spelling because we do not edit the source vibes. π
DLAHEF_AA factorizes a panel of a complex hermitian matrix A using the Aasen's algorithm. The panel is a set of NB rows of A when UPLO is U, or a set of NB columns when UPLO is L.
To factorize the panel, Aasen's algorithm needs the last row, or column, of the previous panel. The first row, or column, of A is set to be the first row, or column, of an identity matrix, and that's what gets used to factorize the first panel.
The resulting J-th row of U, or J-th column of L, is stored in the (J-1)-th row, or column, of A β without the unit diagonals β while the diagonal and subdiagonal of A are overwritten by those of T.
π§Ύ Parameters
UPLOβUPLO is CHARACTER*1= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
J1βJ1 is INTEGER. This is where the first row, or column, of the panel sits inside the submatrix ofAthat's passed to this routine. For example, when called byZHETRF_AA, the first panel hasJ1as1, while the remaining panels haveJ1as2.MβM is INTEGER, and it's the dimension of the submatrix.M >= 0.NBβNB is INTEGER, and it's the dimension of the panel to befacotorized. Yes, that's the exact spelling in the source β leaving it exactly as-is, bestie. β¨AβA is COMPLEX*16 array, dimension (LDA,M) for the first panel, while dimension (LDA,M+1) for the remaining panels.- On entry,
Acontains the last row, or column, of the previous panel, and the trailing submatrix ofAto be factorized; except for the first panel, only the panel is passed. - On exit, the leading panel is factorized.
- On entry,
LDAβLDA is INTEGER, the leading dimension of the arrayA.LDA >= max(1,N).(Yep, it saysNright there in the source β copying exactly. π )IPIVβIPIV is INTEGER array, dimension (N). It holds the details of the row and column interchanges: the row and columnkwere interchanged with the row and columnIPIV(k).HβH is COMPLEX*16 workspace, dimension (LDH,NB).LDHβLDH is INTEGER, the leading dimension of the workspaceH.LDH >= max(1,M).WORKβWORK is COMPLEX*16 workspace, dimension (M).
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 142 of file zlahef_aa.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
π Cute sign-off: source/version from the footer is LAPACK, Version 3.12.0, on page /home/abui...lahef_aa.f(3). The original footer doesn't show a date, so no date is invented here β periodt. ππ
π¦ 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