SRC/ssytrf_aa.f(3)
π SRC/ssytrf_aa.f(3) β or, the LAPACK library functions manual page that lives rent-free in my head
okay so bestie, this is SRC/ssytrf_aa.f(3), straight out of the LAPACK library functions manual. she's a Fortran source file, she's a subroutine doc page, and she's lowkey iconic. let's get into it π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ssytrf_aa (uplo, n, a, lda, ipiv, work, lwork, info)β the one and only SSYTRF_AA π«
π¦ Function/Subroutine Documentation π¦
subroutine ssytrf_aa (character uplo, integer n, real, dimension( lda, * )
a, integer lda, integer, dimension( * ) ipiv, real, dimension( * ) work,
integer lwork, integer info)
SSYTRF_AA β that's her name, that's her whole brand π
πΈ Purpose πΈ
okay so here's the tea, and I need you to focus bestie:
SSYTRF_AA computes the factorization of a real symmetric matrix A using the Aasen's algorithm. the form of the factorization is:
A = U**T*T*U or A = L*T*L**T
where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is a symmetric tridiagonal matrix. π«Ά
and listen β this is the blocked version of the algorithm, calling Level 3 BLAS. highkey the upgraded glow-up version, not the scrappy little unblocked one. periodt.
π Parameters π
grab a snack, we're going through all of them, no skipping π
UPLO
UPLOisCHARACTER*1= 'U': Upper triangle ofAis stored;= 'L': Lower triangle ofAis stored.
pick your fighter, bestie β only the triangle you name gets any attention π
N
NisINTEGER- The order of the matrix
A.N >= 0.
- The order of the matrix
zero is legal, don't come for her. β¨
A
AisREALarray, dimension(LDA,N)- On entry, the symmetric matrix
A. IfUPLO = 'U', the leadingN-by-Nupper triangular part ofAcontains the upper triangular part of the matrixA, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leadingN-by-Nlower triangular part ofAcontains the lower triangular part of the matrixA, and the strictly upper triangular part ofAis not referenced. - On exit, the tridiagonal matrix is stored in the diagonals and the subdiagonals of
Ajust below (or above) the diagonals, andLis stored below (or above) the subdiagonals, whenUPLOis'L'(or'U').
- On entry, the symmetric matrix
she goes in as one thing and comes out as a whole different vibe. main character transformation arc, literally. π¦
LDA
LDAisINTEGER- The leading dimension of the array
A.LDA >= max(1,N).
- The leading dimension of the array
yes the max(1,...) is there for the N = 0 girlies, she's got you. π
IPIV
IPIVisINTEGERarray, dimension(N)- On exit, it contains the details of the interchanges, i.e., the row and column
kofAwere interchanged with the row and columnIPIV(k).
- On exit, it contains the details of the interchanges, i.e., the row and column
the receipts of who swapped with whom πβ¨
WORK
WORKisREALarray, dimension(MAX(1,LWORK))- On exit, if
INFO = 0,WORK(1)returns the optimalLWORK.
- On exit, if
she's not just a scratch pad, she's a messenger. ποΈ
LWORK
LWORKisINTEGER- The length of
WORK. LWORK >= 1, ifN <= 1, andLWORK >= 2*N, otherwise.- For optimum performance
LWORK >= N*(1+NB), whereNBis the optimal blocksize, returned byILAENV. - If
LWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA.
- The length of
ngl,LWORK = -1is the "just tell me how much room you need, I'm not committing yet" option. she'll answer you, no judgment, andXERBLAwon't come yelling. π
INFO
INFOisINTEGER= 0: successful exit< 0: ifINFO = -i, thei-th argument had an illegal value.
okay so< 0means somebody fumbled an input β andINFOwill straight up tell you which argument. read the number, fix the argument, try again. you got this. πβ‘οΈπ₯
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad showed up. we love a collaborative effort. π«Ά
Definition at line 133 of file ssytrf_aa.f.
π Author (again, yes really) π
Generated automatically by Doxygen for LAPACK from the source code. she wasn't hand-written, she was manifested by a doc generator. no cap. β
okay that's the whole page bestie, you're officially fluent in ssytrf_aa. go factor some symmetric matrices with Aasen's algorithm and slay. π
β¨
LAPACK β Version 3.12.0 β SRC/ssytrf_aa.f(3) β mwah, sending you off with a little bow on top ππ
π¦ 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