lahef_aa(3)
π
lahef_aa(3) β Library Functions Manual π
πΈ NAME πΈ
lahef_aa β la{he,sy}f_aa: triangular factor partial factor. That's the whole vibe, bestie. β¨
β¨ SYNOPSIS β¨
Functions
subroutine clahef_aa (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)βCLAHEF_AAsubroutine clasyf_aa (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)βCLASYF_AAsubroutine dlasyf_aa (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)βDLASYF_AAsubroutine slasyf_aa (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)βSLASYF_AAsubroutine zlahef_aa (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)βZLAHEF_AAsubroutine zlasyf_aa (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)βZLASYF_AA
π¦ Detailed Description π¦
Okay so this is the detailed description zone. Keep scrolling for the full function documentation tea. π΅
π Function Documentation π
π subroutine clahef_aa β CLAHEF_AA π
subroutine clahef_aa (character uplo, integer j1, integer m, integer nb,
complex, dimension( lda, * ) a, integer lda, integer, dimension( * )
ipiv, complex, dimension( ldh, * ) h, integer ldh, complex, dimension( *
) work)
CLAHEF_AA
π« Purpose π«
Okay so CLAHEF_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, the 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). Meanwhile the diagonal and subdiagonal of A are overwritten by those of T. No cap. π
π Parameters π
UPLOβUPLO is CHARACTER*1;= 'U': upper triangle ofAis stored;= 'L': lower triangle ofAis stored.J1βJ1 is INTEGER; the location of the first row, or column, of the panel within the submatrix ofA, passed to this routine, e.g., when called byCHETRF_AA, for the first panel,J1is1, while for the remaining panels,J1is2.MβM is INTEGER; the dimension of the submatrix.M >= 0.NBβNB is INTEGER; the dimension of the panel to be facotorized.AβA is COMPLEX array, dimension (LDA,M)for the first panel, whiledimension (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. π¦LDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIV is INTEGER array, dimension (N); details of the row and column interchanges, the row and columnkwere interchanged with the row and columnIPIV(k).HβH is COMPLEX workspace, dimension (LDH,NB).LDHβLDH is INTEGER; the leading dimension of the workspaceH.LDH >= max(1,M).WORKβWORK is COMPLEX workspace, dimension (M).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line 142 of file clahef_aa.f. π
π subroutine clasyf_aa β CLASYF_AA π
subroutine clasyf_aa (character uplo, integer j1, integer m, integer nb,
complex, dimension( lda, * ) a, integer lda, integer, dimension( * )
ipiv, complex, dimension( ldh, * ) h, integer ldh, complex, dimension( *
) work)
CLASYF_AA
π« Purpose π«
Okay so DLATRF_AA factorizes a panel of a complex symmetric 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, the 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). Meanwhile the diagonal and subdiagonal of A are overwritten by those of T. Periodt. π
π Parameters π
UPLOβUPLO is CHARACTER*1;= 'U': upper triangle ofAis stored;= 'L': lower triangle ofAis stored.J1βJ1 is INTEGER; the location of the first row, or column, of the panel within the submatrix ofA, passed to this routine, e.g., when called byCSYTRF_AA, for the first panel,J1is1, while for the remaining panels,J1is2.MβM is INTEGER; the dimension of the submatrix.M >= 0.NBβNB is INTEGER; the dimension of the panel to be facotorized.AβA is COMPLEX array, dimension (LDA,M)for the first panel, whiledimension (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. π¦LDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,M).IPIVβIPIV is INTEGER array, dimension (M); details of the row and column interchanges, the row and columnkwere interchanged with the row and columnIPIV(k).HβH is COMPLEX workspace, dimension (LDH,NB).LDHβLDH is INTEGER; the leading dimension of the workspaceH.LDH >= max(1,M).WORKβWORK is COMPLEX workspace, dimension (M).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line 142 of file clasyf_aa.f. π
π subroutine dlasyf_aa β DLASYF_AA π
subroutine dlasyf_aa (character uplo, integer j1, integer m, integer nb,
double precision, dimension( lda, * ) a, integer lda, integer,
dimension( * ) ipiv, double precision, dimension( ldh, * ) h, integer
ldh, double precision, dimension( * ) work)
DLASYF_AA
π« Purpose π«
Okay so DLATRF_AA factorizes a panel of a real symmetric 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, the 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). Meanwhile the diagonal and subdiagonal of A are overwritten by those of T. Iconic. π
π Parameters π
UPLOβUPLO is CHARACTER*1;= 'U': upper triangle ofAis stored;= 'L': lower triangle ofAis stored.J1βJ1 is INTEGER; the location of the first row, or column, of the panel within the submatrix ofA, passed to this routine, e.g., when called byDSYTRF_AA, for the first panel,J1is1, while for the remaining panels,J1is2.MβM is INTEGER; the dimension of the submatrix.M >= 0.NBβNB is INTEGER; the dimension of the panel to be facotorized.AβA is DOUBLE PRECISION array, dimension (LDA,M)for the first panel, whiledimension (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. π¦LDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,M).IPIVβIPIV is INTEGER array, dimension (M); details of the row and column interchanges, the row and columnkwere interchanged with the row and columnIPIV(k).HβH is DOUBLE PRECISION workspace, dimension (LDH,NB).LDHβLDH is INTEGER; the leading dimension of the workspaceH.LDH >= max(1,M).WORKβWORK is DOUBLE PRECISION workspace, dimension (M).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line 142 of file dlasyf_aa.f. π
π subroutine slasyf_aa β SLASYF_AA π
subroutine slasyf_aa (character uplo, integer j1, integer m, integer nb,
real, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv,
real, dimension( ldh, * ) h, integer ldh, real, dimension( * ) work)
SLASYF_AA
π« Purpose π«
...and the resulting J-th row of U (or J-th column of L, depending on which triangle you told it about) gets tucked into the (J-1)-th row or column of A β without the unit diagonals, bestie, they're implied β while the diagonal and subdiagonal of A get straight-up overwritten by those of T. Very "out with the old, in with the new." π
Parameters
UPLOβCHARACTER*1. This is your vibe check for which triangle we're playing with:= 'U': the upper triangle ofAis stored;= 'L': the lower triangle ofAis stored.
J1βINTEGER. Where the first row (or column) of the panel sits inside the submatrix ofAthat got handed to this routine. Like, whenSSYTRF_AAcalls it, the first panel hasJ1=1, and every panel after that hasJ1=2. Consistency icon.MβINTEGER. The dimension of the submatrix.M >= 0, no negativity allowed, periodt.NBβINTEGER. The dimension of the panel to be factorized. (The source spells it "facotorized" β adorable, we stan a typo, but you know what she means. π)AβREALarray, dimension(LDA,M)for the first panel, and dimension(LDA,M+1)for the remaining panels. On entry,Aholds the last row (or column) of the previous panel, plus the trailing submatrix ofAthat needs factorizing β except for the very first panel, where only the panel itself is passed in. On exit, the leading panel is factorized. Glow-up complete. β¨LDAβINTEGER. Leading dimension of the arrayA.LDA >= max(1,M). Respect the constraint or the math will simply not be mathing.IPIVβINTEGERarray, dimension(M). The receipts of the row and column interchanges: row and columnkwere swapped with row and columnIPIV(k). iykyk.HβREALworkspace, dimension(LDH,NB). Just doing workspace things. π«ΆLDHβINTEGER. Leading dimension of the workspaceH.LDH >= max(1,M).WORKβREALworkspace, dimension(M). A lil scratchpad, we love her.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 142 of file slasyf_aa.f.
π 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)
Purpose
Okay so the purpose block literally opens with the nameDLAHEF_AAeven though this isZLAHEF_AAβ yes, the source document lowkey fumbled that one, and we're reporting it faithfully because details are sacred. π
ZLAHEF_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. Main character energy, honestly.
To actually factorize the panel, the Aasen's algorithm needs the last row (or column) of the previous panel. So the first row (or column) of A is set to be the first row (or column) of an identity matrix, and that's what factorizes the very first panel. Clever little bootstrap moment. π§
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 β and the diagonal and subdiagonal of A get overwritten by those of T. Same as always, no cap.
Parameters
UPLOβCHARACTER*1:= 'U': the upper triangle ofAis stored;= 'L': the lower triangle ofAis stored.
J1βINTEGER. The location of the first row or column of the panel within the submatrix ofApassed to this routine. For example, whenZHETRF_AAcalls it: first panel βJ1is1; remaining panels βJ1is2. Iconic and predictable.MβINTEGER. The dimension of the submatrix.M >= 0.NBβINTEGER. The dimension of the panel to be factorized. (Yes, "facotorized" again in the source. She's consistent, we love her for it. π)AβCOMPLEX*16array, dimension(LDA,M)for the first panel, and dimension(LDA,M+1)for the remaining panels. On entry,Acontains the last row or column of the previous panel plus the trailing submatrix ofAto be factorized β except for the first panel, where only the panel is passed. On exit, the leading panel is factorized. β¨LDAβINTEGER. The leading dimension of the arrayA.LDA >= max(1,N). β οΈ Heads up: this one is written asNin the source, unlike her sisters who sayM. Copy it exactly, don't get cute with it.IPIVβINTEGERarray, dimension(N). Details of the row and column interchanges: row and columnkwere interchanged with row and columnIPIV(k). β οΈ AlsoNhere, notM. Yes really. Keep it.HβCOMPLEX*16workspace, dimension(LDH,NB). Workspace bestie. π«ΆLDHβINTEGER. The leading dimension of the workspaceH.LDH >= max(1,M).WORKβCOMPLEX*16workspace, 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.
π zlasyf_aa π
subroutine zlasyf_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)
Purpose
And the purpose block here opens with DLATRF_AA, which is also not this routine's name. The source is out here living its truth. We transcribe, we don't judge. π
ZLASYF_AA factorizes a panel of a complex symmetric matrix A using the Aasen's algorithm. Panel = a set of NB rows of A when UPLO is U, or a set of NB columns when UPLO is L. She's symmetric, not hermitian β know the difference, it matters, iykyk.
Same drill as ever: the Aasen's algorithm needs the last row or column of the previous panel, so the first row or column of A is set to be the first row or column of an identity matrix, and that little identity action is what factorizes the first panel. β¨
The resulting J-th row of U, or J-th column of L, lands in the (J-1)-th row or column of A, without the unit diagonals, and the diagonal and subdiagonal of A are overwritten by those of T. Periodt.
Parameters
UPLOβCHARACTER*1:= 'U': the upper triangle ofAis stored;= 'L': the lower triangle ofAis stored.
J1βINTEGER. Where the first row or column of the panel lives within the submatrix ofApassed to this routine. E.g. whenZSYTRF_AAcalls it: first panel βJ1is1; remaining panels βJ1is2. Slay, consistent.MβINTEGER. The dimension of the submatrix.M >= 0.NBβINTEGER. The dimension of the panel to be factorized. (The "facotorized" typo is back for round three β she's a trilogy now. π)AβCOMPLEX*16array, dimension(LDA,M)for the first panel, and dimension(LDA,M+1)for the remaining panels. On entry: the last row or column of the previous panel plus the trailing submatrix ofAto be factorized, except for the first panel where only the panel is passed. On exit: the leading panel is factorized. Chef's kiss. πLDAβINTEGER. The leading dimension of the arrayA.LDA >= max(1,M). Back toMhere, bestie β do not carry over theNfrom the previous routine, that's a different girl.IPIVβINTEGERarray, dimension(M). Details of the row and column interchanges: row and columnkwere interchanged with row and columnIPIV(k). AlsoM. We're back on track.HβCOMPLEX*16workspace, dimension(LDH,NB).LDHβINTEGER. The leading dimension of the workspaceH.LDH >= max(1,M).WORKβCOMPLEX*16workspace, dimension(M).
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 142 of file zlasyf_aa.f.
πΈ Author πΈ
Generated automatically by Doxygen for LAPACK from the source code. Not a human, not a vibe curator, just a doc generator doing her little thing. π«Ά
TL;DR from your girl:lahef_aais the Aasen's-algorithm panel-factorizing family βs/d/c/zvariants, symmetric and hermitian flavours β and every single one of them wantsM >= 0, a saneLDA/LDH, and aWORKarray of dimension(M). Don't skip theIPIVreceipts. π§ββοΈ
That's the whole page, bestie β shoutout to LAPACK Version 3.12.0 for the source and version, and this lahef_aa(3) page is officially a wrap. Go factorize something symmetric. πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms