SRC/slasyf_aa.f(3)

πŸ’… NAME

okay so bestie, this is SRC/slasyf_aa.f, straight out of the Library Functions Manual β€” and it's giving iconic LAPACK factorization energy. ✨


✨ SYNOPSIS

🧩 Functions/Subroutines

  • subroutine slasyf_aa (uplo, j1, m, nb, a, lda, ipiv, h, ldh, work) β€” SLASYF_AA, no cap.

Also, the full signature is literally this:

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 is the main character here. πŸ’–


🫢 Function/Subroutine Documentation

🎯 Purpose

The Purpose block says:

  • DLATRF_AA factorizes a panel of a real symmetric matrix A using Aasen's algorithm. πŸ”₯
  • The panel consists of 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 requires 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, which is 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.

That's the whole tea, and yes, it's a lot of tea. πŸ«–

πŸŽ€ Parameters

UPLO

  • UPLO is CHARACTER*1
  • = 'U': upper triangle of A is stored;
  • = 'L': 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, passed to this routine, e.g., when called by SSYTRF_AA, for the first panel, J1 is 1, while 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. (Yes, that spelling is in the source, bestie β€” we keep the facts exact around here. πŸ’…)

A

  • A is REAL 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. Slay. ✨

LDA

  • LDA is INTEGER
  • It's the leading dimension of the array A. LDA >= max(1,M).

IPIV

  • IPIV is INTEGER array, dimension (M)
  • It holds details of the row and column interchanges: the row and column k were interchanged with the row and column IPIV(k).

H

  • H is REAL workspace, dimension (LDH,NB).

LDH

  • LDH is INTEGER
  • It's the leading dimension of the workspace H. LDH >= max(1,M).

WORK

  • WORK is REAL workspace, dimension (M).

πŸ‘‘ Author

The iconic author squad:

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ“ Definition at line 142 of file slasyf_aa.f.

πŸ€– Author

Generated automatically by Doxygen for LAPACK from the source code.


πŸŽ€ final sign-off: LAPACK Version 3.12.0, page source SRC/slasyf_aa.f(3) β€” that's the footer stamp, with no separate date line to quote, so we're not inventing one. πŸ’…βœ¨

πŸ“¦ where this page comes from