SRC/ssytri_rook.f(3)
π SRC/ssytri_rook.f β the LAPACK library manual, bestie edition β¨
okay so this page is literally from the LAPACK Library Functions Manual, and it's all about one iconic little subroutine. buckle up π
πΈ NAME πΈ
SRC/ssytri_rook.f β that's it, that's the name, she's lowkey mysterious like that π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ssytri_rook (uplo, n, a, lda, ipiv, work, info)β this isSSYTRI_ROOK, the main character π
π¦ Function/Subroutine Documentation π¦
subroutine ssytri_rook (character uplo, integer n, real, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real, dimension( * ) work, integer info)
SSYTRI_ROOK β say it with me, she's the inverse-finder π«Ά
π Purpose:
!>
!> SSYTRI_ROOK computes the inverse of a real symmetric
!> matrix A using the factorization A = U*D*U**T or A = L*D*L**T
!> computed by SSYTRF_ROOK.
!>
so basically: hand her a real symmetric matrix A plus the factorization A = U*D*U**T or A = L*D*L**T that SSYTRF_ROOK already cooked up, and she gives you the inverse. no cap, that's the whole gig π₯
π Parameters π
UPLO
!> UPLO is CHARACTER*1
!> Specifies whether the details of the factorization are stored
!> as an upper or lower triangular matrix.
!> = 'U': Upper triangular, form is A = U*D*U**T;
!> = 'L': Lower triangular, form is A = L*D*L**T.
!>
it's a CHARACTER*1 that tells her whether the factorization details are chilling in an upper or lower triangular matrix. pick your fighter: 'U' for upper triangular (form is A = U*D*U**T), or 'L' for lower triangular (form is A = L*D*L**T). choose wisely bestie π
N
!> N is INTEGER
!> The order of the matrix A. N >= 0.
!>
an INTEGER, the order of the matrix A. and she has standards: N >= 0 β¨
A
!> A is REAL array, dimension (LDA,N)
!> On entry, the block diagonal matrix D and the multipliers
!> used to obtain the factor U or L as computed by SSYTRF_ROOK.
!>
!> On exit, if INFO = 0, the (symmetric) inverse of the original
!> matrix. If UPLO = 'U', the upper triangular part of the
!> inverse is formed and the part of A below the diagonal is not
!> referenced; if UPLO = 'L' the lower triangular part of the
!> inverse is formed and the part of A above the diagonal is
!> not referenced.
!>
a REAL array, dimension (LDA,N) and honestly she goes through a whole glow-up here:
- on entry she's holding the block diagonal matrix
Dand the multipliers used to obtain the factorUorL, exactly as computed bySSYTRF_ROOK. - on exit, if
INFO = 0, she's serving the (symmetric) inverse of the original matrix π ifUPLO = 'U', the upper triangular part of the inverse is formed and the part ofAbelow the diagonal is not referenced; ifUPLO = 'L', the lower triangular part of the inverse is formed and the part ofAabove the diagonal is not referenced. respect the boundaries, periodt π
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,N).
!>
an INTEGER, the leading dimension of the array A. the vibe check here is LDA >= max(1,N) π
IPIV
!> IPIV is INTEGER array, dimension (N)
!> Details of the interchanges and the block structure of D
!> as determined by SSYTRF_ROOK.
!>
an INTEGER array, dimension (N) β it's carrying the details of the interchanges and the block structure of D, as determined by SSYTRF_ROOK. she's got receipts π
WORK
!> WORK is REAL array, dimension (N)
!>
a REAL array, dimension (N). she works hard but she's just workspace, ngl π«Ά
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
!> > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
!> inverse could not be computed.
!>
an INTEGER, the report card π
= 0: successful exit, we ate π< 0: ifINFO = -i, the i-th argument had an illegal value β not cute, someone misbehaved> 0: ifINFO = i,D(i,i) = 0; the matrix is singular and its inverse could not be computed. so sorry bestie, no inverse today π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
four whole institutions, the collab we deserved π
π§ Contributors: π§
!>
!> April 2012, Igor Kozachenko,
!> Computer Science Division,
!> University of California, Berkeley
!>
!> September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
!> School of Mathematics,
!> University of Manchester
!>
!>
- April 2012 β Igor Kozachenko, Computer Science Division, University of California, Berkeley
- September 2007 β Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
a whole friend group of mathematicians carried this, we stan π«Ά
π Definition at line 128 of file ssytri_rook.f. π
that's where she lives, line 128, iconic address ngl π
β Author β
Generated automatically by Doxygen for LAPACK from the source code. the robots did the paperwork, we just vibe π€β¨
heads up bestie:INFO > 0meansD(i,i) = 0β the matrix is singular and the inverse could not be computed. that's not a "try again" moment, that's a "the math said no" moment π
and that's the whole page, fr fr π this gem came to you from LAPACK, Version 3.12.0, dated with all the love β go inverse something iconic, mwah πππ
π¦ 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