/home/abui...sytri_3x.f(3)
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dsytri_3x.f
okay so bestie, that's the whole file path right there β that's literally the name of this page, it's a Fortran source file from LAPACK 3.12.0 and it's the icon, the moment, the main character of this manpage β¨
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine DSYTRI_3X (uplo, n, a, lda, e, ipiv, work, nb, info)β DSYTRI_3X
πΈ Function/Subroutine Documentation πΈ
subroutine DSYTRI_3X (character uplo, integer n, double precision,
dimension( lda, * ) a, integer lda, double precision, dimension( * ) e,
integer, dimension( * ) ipiv, double precision, dimension( n+nb+1, * )
work, integer nb, integer info)
DSYTRI_3X β say it with me, bestie π
π Purpose π
DSYTRI_3X computes the inverse of a real symmetric indefinite matrix A using the factorization computed by DSYTRF_RK or DSYTRF_BK:
A = P*U*D*(U**T)*(P**T) or A = P*L*D*(L**T)*(P**T),
where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.
Literally so much going on and yet? she ate. π₯
This is the blocked version of the algorithm, calling Level 3 BLAS.
blocked version, Level 3 BLAS, we love efficiency in this house fr fr π
π Parameters π
UPLO
UPLO isCHARACTER*1Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. -= 'U': Upper triangle of A is stored; -= 'L': Lower triangle of A is stored.
pick your fighter bestie, upper or lower, no in-between π¦
N
N isINTEGERThe order of the matrix A.N >= 0.
the size of the situation. non-negative only, we don't do negative orders here π
A
A isDOUBLE PRECISIONarray, dimension(LDA,N)On entry, diagonal of the block diagonal matrix D and factors U or L as computed by DSYTRF_RK and DSYTRF_BK: - a) ONLY diagonal elements of the symmetric block diagonal matrix D on the diagonal of A, i.e.D(k,k) = A(k,k);(superdiagonal (or subdiagonal) elements of D should be provided on entry in arrayE), and - b) IfUPLO = 'U': factor U in the superdiagonal part of A. IfUPLO = 'L': factor L in the subdiagonal part of A. On exit, ifINFO = 0, the symmetric inverse of the original matrix. - IfUPLO = 'U': the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; - IfUPLO = 'L': the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced.
so on entry she's holding D's diagonal + the factors, and on exit (if INFO = 0) she's serving you the actual inverse. only ONE triangle gets referenced β the other half is literally not invited to the function π
LDA
LDA isINTEGERThe leading dimension of the array A.LDA >= max(1,N).
respect the leading dimension or else, that's the rule π«Ά
E
E isDOUBLE PRECISIONarray, dimension(N)On entry, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrix D with 1-by-1 or 2-by-2 diagonal blocks, where - IfUPLO = 'U':E(i) = D(i-1,i),i=2:N,E(1)not referenced; - IfUPLO = 'L':E(i) = D(i+1,i),i=1:N-1,E(N)not referenced. NOTE: For 1-by-1 diagonal blockD(k), where1 <= k <= N, the elementE(k)is not referenced in bothUPLO = 'U'orUPLO = 'L'cases.
the off-diagonal bestie π also note the little "not referenced" situations, they're real and they matter, don't @ me.
IPIV
IPIV isINTEGERarray, dimension(N)Details of the interchanges and the block structure of D as determined by DSYTRF_RK or DSYTRF_BK.
the receipts from whoever did the factorization π
WORK
WORK isDOUBLE PRECISIONarray, dimension(N+NB+1,NB+3).
workspace, she's got a very specific dimension and she's not flexible about it β¨
NB
NB is INTEGER Block size.
that's the block size. short and iconic, no notes.
INFO
INFO isINTEGER-= 0: successful exit -< 0: ifINFO = -i, the i-th argument had an illegal value -> 0: ifINFO = i,D(i,i) = 0; the matrix is singular and its inverse could not be computed.
ngl the > 0 case is the sad one π singular matrix means no inverse, that's just how it is.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad came together for this one π«Ά
β Contributors: β
June 2017, Igor Kozachenko, Computer Science Division, University of California, Berkeley
shoutout Igor, June 2017, we see you and we appreciate you π
π§ Definition at line 158 of file dsytri_3x.f. π§
yep, line 158, that's where she lives.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (the robots did this part, we just made it cute π )
LAPACK β Version 3.12.0 π and that's the whole page bestie, /home/abui...sytri_3x.f(3), mwah, bye πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms