SRC/clasyf_aa.f(3)

πŸ’– NAME πŸ’–

Okay bestie, this page is called SRC/clasyf_aa.f, and it lives in the Library Functions Manual β€” LAPACK's corner of it, specifically. We're talking about clasyf_aa, and yes, the vibe is very β€œI read the source so you don't have to.” πŸ’…

✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines πŸŽ€

  • subroutine clasyf_aa (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work) β€” CLASYF_AA is the function we're serving up.

πŸ“š Function/Subroutine Documentation πŸ“š

Here's the full signature, exactly as the source prints it:

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 β€” that's our main character.

🌸 Purpose 🌸

So the Purpose block says DLATRF_AA factorizes a panel of a complex symmetric matrix A using Aasen's algorithm. (Not me double-checking the routine name, bestie β€” that's literally what it says.) 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). Meanwhile the diagonal and subdiagonal of A are overwritten by those of T. Periodt. πŸ’…

πŸ¦‹ Parameters πŸ¦‹

  • UPLO β€” UPLO is CHARACTER*1. = 'U': the upper triangle of A is stored; = 'L': the lower triangle of A is stored.
  • J1 β€” J1 is INTEGER. It's the location of the first row, or column, of the panel within the submatrix of A that's passed to this routine. For example, when it's called by CSYTRF_AA, for the first panel J1 is 1; for the remaining panels, J1 is 2.
  • M β€” M is INTEGER. It's the dimension of the submatrix. M >= 0.
  • NB β€” NB is INTEGER. It's the dimension of the panel to be facotorized. (That spelling is straight from the source, and honestly? iconic. 😭)
  • A β€” A is a COMPLEX 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. It's the leading dimension of the array A. LDA >= max(1,M).
  • IPIV β€” IPIV is an INTEGER array, dimension (M). 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 workspace, dimension (LDH,NB).
  • LDH β€” LDH is INTEGER. It's the leading dimension of the workspace H. 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.

🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code.


Cute sign-off: that's the whole manual page, bestie! This is LAPACK Version 3.12.0, source SRC/clasyf_aa.f(3) β€” and the footer doesn't give a date, so no invented date here. πŸŽ€πŸ’–

πŸ“¦ where this page comes from