/home/abui...lahef_aa.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

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 with DLAHEF_AA even though this is ZLAHEF_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 of A that's passed to this routine. For example, when called by ZHETRF_AA, the first panel has J1 as 1, while the remaining panels have J1 as 2.
  • 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 be facotorized. 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, A contains the last row, or column, of the previous panel, and the trailing submatrix of A to 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 array A. LDA >= max(1,N). (Yep, it says N right 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 column k were interchanged with the row and column IPIV(k).
  • H β€” H is COMPLEX*16 workspace, dimension (LDH,NB).
  • LDH β€” LDH is INTEGER, the leading dimension of the workspace H. 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