SRC/spptri.f(3)
β¨ SRC/spptri.f(3) β¨
okay so this is a page from the Library Functions Manual and it's literally the glow-up era of your linear algebra life π buckle up bestie, we're inverting matrices
π NAME π
SRC/spptri.f β yes that's the whole name, she's lowkey mysterious like that π
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine spptri (uplo, n, ap, info)
SPPTRI π (that's her name, say it with your chest)
πΈ Function/Subroutine Documentation πΈ
subroutine spptri (character uplo, integer n, real, dimension( * ) ap,
integer info)
SPPTRI β¨ (again, iconic, we love a consistent queen)
π Purpose:
SPPTRI computes the inverse of a real symmetric positive definite matrix A using the Cholesky factorization A = U**T*U or A = L*L**T computed by SPPTRF.
so basically: you already did the hard part and got your Cholesky factorization from SPPTRF, and now SPPTRI takes that and hands you the inverse π fr fr, no cap, that's the whole vibe check.
π«Ά Parameters π«Ά
UPLO
UPLO is CHARACTER*1
= 'U': Upper triangular factor is stored in AP;
= 'L': Lower triangular factor is stored in AP.
she's a CHARACTER*1 and she's picking a side π
'U'β the upper triangular factor is the one chillin' inAP'L'β nope, it's the lower triangular factor stored inAP
N
N is INTEGER
The order of the matrix A. N >= 0.
N is an INTEGER and it's the order of the matrix A. The rule is N >= 0 β don't try her with negatives, she will not be normal about it π
AP
AP is REAL array, dimension (N*(N+1)/2)
On entry, the triangular factor U or L from the Cholesky
factorization A = U**T*U or A = L*L**T, packed columnwise as
a linear array. The j-th column of U or L is stored in the
array AP as follows:
if UPLO = 'U', AP(i + (j-1)*j/2) = U(i,j) for 1<=i<=j;
if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = L(i,j) for j<=i<=n.
On exit, the upper or lower triangle of the (symmetric)
inverse of A, overwriting the input factor U or L.
okay this one's the main character π
AP is a REAL array with dimension (N*(N+1)/2).
On entry it's holding the triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T, packed columnwise as a linear array. Here's exactly how the j-th column of U or L sits in AP:
- if
UPLO = 'U',AP(i + (j-1)*j/2) = U(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2n-j)/2) = L(i,j)forj<=i<=n.
On exit, AP becomes the upper or lower triangle of the (symmetric) inverse of A β and yes, it straight up overwrites the input factor U or L. say goodbye to the old her, she's gone π
INFO
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: if INFO = i, the (i,i) element of the factor U or L is
zero, and the inverse could not be computed.
INFO is an INTEGER and she's the group chat read receipt:
= 0β successful exit, we ate π₯< 0β ifINFO = -i, thei-th argument had an illegal value π> 0β ifINFO = i, the(i,i)element of the factorUorLis zero, and the inverse could not be computed π
β οΈ bestie pls notice: INFO > 0 literally means a diagonal element of the factor came back zero and the inverse was not computed. that's not a vibe. check your matrix π₯²
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
(four whole institutions collaborated on this and honestly? teamwork makes the dream work π)
Definition at line 92 of file spptri.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
so yeah π that's the whole page. no notes, she's perfect.
and that's a wrap on LAPACK π«Ά Version 3.12.0 π¦ from SRC/spptri.f(3) β go invert something symmetric positive definite, ily, bye bestie πβ¨π
π¦ 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