SRC/zsytri_rook.f(3)
π SRC/zsytri_rook.f β¨
okay so this is a page from the LAPACK manual (Library Functions Manual), and it's literally all about one tiny icon of a subroutine. buckle up bestie, we're doing linear algebra π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine zsytri_rook (uplo, n, a, lda, ipiv, work, info)β the one and only ZSYTRI_ROOK π¦
π Function/Subroutine Documentation π
subroutine zsytri_rook (character uplo, integer n, complex*16, dimension(
lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16,
dimension( * ) work, integer info)
ZSYTRI_ROOK
π§ Purpose:
!>!> ZSYTRI_ROOK computes the inverse of a complex symmetric!> matrix A using the factorization A = U*D*U**T or A = L*D*L**T!> computed by ZSYTRF_ROOK.!>
like, it inverts your complex symmetric matrix A, using the factorization A = U*D*U**T or A = L*D*L**T that ZSYTRF_ROOK already handed you. no cap, that's the whole job π
β¨ 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*UT;!>= 'L': Lower triangular, form is A = L*D*LT.!>
so UPLO is a CHARACTER*1 and it tells you which triangle the factorization details live in β upper or lower. the two moods:
= 'U'β upper triangular, form isA = U*D*U**Tβ= 'L'β lower triangular, form isA = L*D*L**Tπ
N
!>N is INTEGER!>The order of the matrix A. N >= 0.!>
N is an INTEGER, the order of the matrix A. it must be N >= 0. bestie with a negative N? not on my watch π
A
!>A is COMPLEX*16 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 ZSYTRF_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 is a COMPLEX*16 array, dimension (LDA,N). two whole eras for this one:
- on entry β it's holding the block diagonal matrix D plus the multipliers used to obtain the factor U or L, exactly as computed by
ZSYTRF_ROOK. - on exit β if
INFO = 0, you get the (symmetric) inverse of the original matrix π and here's the vibe check: 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 like, don't go reading the other half, it's giving β¨nothingβ¨
LDA
!>LDA is INTEGER!>The leading dimension of the array A. LDA >= max(1,N).!>
LDA is an INTEGER β the leading dimension of the array A, and it needs LDA >= max(1,N). main character constraint fr fr π«Ά
IPIV
!>IPIV is INTEGER array, dimension (N)!>Details of the interchanges and the block structure of D!>as determined by ZSYTRF_ROOK.!>
IPIV is an INTEGER array, dimension (N) β the details of the interchanges and the block structure of D, as determined by ZSYTRF_ROOK. it's basically the receipts π
WORK
!>WORK is COMPLEX*16 array, dimension (N)!>
WORK is a COMPLEX*16 array, dimension (N). it works, hence the name (jk, it's scratch space π§Ή).
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.!>
INFO is an INTEGER, the status report of the whole operation:
= 0β successful exit, we ate π₯< 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 π no inverse for you
π«Ά Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors:
!>!> December 2016, Igor Kozachenko,!> Computer Science Division,!> University of California, Berkeley!>!> September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,!> School of Mathematics,!> University of Manchester!>!>
shoutout to Igor Kozachenko (December 2016, Computer Science Division, University of California, Berkeley) and to Sven Hammarling, Nicholas J. Higham and Craig Lucas (September 2007, School of Mathematics, University of Manchester) β iconic contributors, periodt π
π Definition at line 128 of file zsytri_rook.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code. (yes, the robots wrote this one π€)
okay that's the whole page bestie, every flag, every constraint, every vibes-based caveat. LAPACK, Version 3.12.0, SRC/zsytri_rook.f(3) β mwah, slay, go invert something symmetric πβ¨π
π¦ 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