SRC/zhetri.f(3)
π NAME
SRC/zhetri.f β bestie, this is the page for the zhetri subroutine, and it's literally about computing an inverse. Iconic behavior only. β¨
πΈ SYNOPSIS
Functions/Subroutines
subroutine zhetri (uplo, n, a, lda, ipiv, work, info)β the short-and-sweet call, aka ZHETRI's little business card π
π¦ Function/Subroutine Documentation
subroutine zhetri (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( * ) work, integer info)
ZHETRI. That's her name, no cap. π
π Purpose:
!>
!> ZHETRI computes the inverse of a complex Hermitian indefinite matrix
!> A using the factorization A = U*D*U**H or A = L*D*L**H computed by
!> ZHETRF.
!>
So basically: you already let ZHETRF do its thing and hand you the factorization, and now zhetri takes that factorial tea β and flips it into the actual inverse of A. Complex Hermitian indefinite matrix? Slay, she's flexible like that. π
β¨ 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**H;
!> = 'L': Lower triangular, form is A = L*D*L**H.
!>
One character, one vibe check. It tells her where the factorization details are chilling β upper triangle or lower triangle, bestie, pick a lane. π
N
!> N is INTEGER
!> The order of the matrix A. N >= 0.
!>
The order of matrix A. And it's gotta be N >= 0, periodt. No negative order energy allowed here. π«
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 ZHETRF.
!>
!> On exit, if INFO = 0, the (Hermitian) 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) β and this one has a whole glow-up arc, okay? π¦
On entry: she's holding the block diagonal matrix D plus the multipliers that got you the factor U or L, exactly as ZHETRF computed them. So A walks in carrying the factorization.
On exit: if INFO = 0, honey, she's the (Hermitian) inverse of the original matrix. Main character transformation. β¨
But notice the details, because they matter: if UPLO = 'U', only the upper triangular part of the inverse gets formed, and the part of A below the diagonal is not referenced. If UPLO = 'L', it's the flip β the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced. Respect the boundaries, bestie. π
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,N).
!>
The leading dimension of array A, and it's gotta satisfy LDA >= max(1,N). That's the rule, no negotiating. π
IPIV
!> IPIV is INTEGER array, dimension (N)
!> Details of the interchanges and the block structure of D
!> as determined by ZHETRF.
!>
An INTEGER array of dimension (N), holding all the gossip: the details of the interchanges and the block structure of D, exactly as ZHETRF determined them. iykyk. π
WORK
!> WORK is COMPLEX*16 array, dimension (N)
!>
A COMPLEX*16 array of dimension (N). It's the workspace β the backstage crew of this whole operation. π«Ά
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.
!>
The receipts. π INTEGER, and here's how to read her mood:
= 0: successful exit. We ate. π₯< 0: ifINFO = -i, the i-th argument had an illegal value. Somebody passed her something shady.> 0: ifINFO = i, thenD(i,i) = 0β the matrix is singular and its inverse could not be computed. π Yeah, that one's a real dead end, not gonna sugarcoat it.
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
β Definition at line 113 of file zhetri.f.
π§ Author (the meta one)
Generated automatically by Doxygen for LAPACK from the source code.
π Cute little sign-off: this whole page is LAPACK, Version 3.12.0, and it lives at SRC/zhetri.f(3). Bye bestie, go invert something! πβ¨πΈ
π¦ 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