SRC/zhetri2x.f(3)

πŸ’… SRC/zhetri2x.f β€” from the Library Functions Manual bestie, hi

okay so this is a manpage for SRC/zhetri2x.f, and no cap it's about one (1) absolutely iconic subroutine. buckle up πŸŽ€


✨ NAME ✨

SRC/zhetri2x.f β€” literally the file, that's the name, that's the assignment πŸ’–


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine zhetri2x (uplo, n, a, lda, ipiv, work, nb, info)

ZHETRI2X β€” say it with me, Z-H-E-T-R-I-2-X πŸ¦‹


πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine zhetri2x (character uplo, integer n, complex*16, dimension( lda,
* ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension(
n+nb+1,* ) work, integer nb, integer info)

ZHETRI2X ✨ (yes the second mention, she's that important)

🫢 Purpose:

!>
!> ZHETRI2X computes the inverse of a COMPLEX*16 Hermitian indefinite matrix
!> A using the factorization A = U*D*U**H or A = L*D*L**H computed by
!> ZHETRF.
!>

so basically: give her the factorization that ZHETRF already made, and she hands you back the inverse of A. main character energy fr fr πŸ’…

🌈 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.
!>

it's a CHARACTER*1 and it picks the whole vibe: 'U' for upper triangular (A = U*D*U**H) or 'L' for lower triangular (A = L*D*L**H) πŸ’œ

N

!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>

N is INTEGER, it's the order of the matrix A, and N >= 0 β€” zero is allowed, she's inclusive πŸŽ€

A

!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          On entry, the NNB diagonal matrix D and the multipliers
!>          used to obtain the factor U or L as computed by ZHETRF.
!>
!>          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). On entry she holds the NNB diagonal matrix D plus the multipliers used to get the factor U or L as computed by ZHETRF. On exit, if INFO = 0, she holds the (symmetric) inverse of the original matrix β€” and listen: 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 is formed and the part above the diagonal is not referenced. don't come for the parts she ignores, she's busy 😭

LDA

!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>

LDA is INTEGER, the leading dimension of the array A, and LDA >= max(1,N). periodt πŸ’…

IPIV

!>          IPIV is INTEGER array, dimension (N)
!>          Details of the interchanges and the NNB structure of D
!>          as determined by ZHETRF.
!>

IPIV is an INTEGER array, dimension (N), holding the details of the interchanges and the NNB structure of D, as determined by ZHETRF πŸ¦‹

WORK

!>          WORK is COMPLEX*16 array, dimension (N+NB+1,NB+3)
!>

WORK is a COMPLEX*16 array, dimension (N+NB+1,NB+3) β€” that's the whole thing, no elaboration, she works hard so we don't have to 🌸

NB

!>          NB is INTEGER
!>          Block size
!>

NB is INTEGER. it's the block size. that's the note. that's the whole note πŸŽ€

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 INTEGER and it's the vibe check at the end:

  • = 0: successful exit, we ate πŸ”₯
  • < 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 β€” like, she tried, but no πŸ’€

⭐ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 119 of file zhetri2x.f. πŸ‘‘


🧚 Author (the meta one) 🧚

Generated automatically by Doxygen for LAPACK from the source code. slay, robot-written documentation πŸ’–


okay that's the whole page, every flag and every caveat intact, no details ghosted 🫢

LAPACK Version 3.12.0 Β· SRC/zhetri2x.f(3) β€” bye bestie, go invert something Hermitian indefinite πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from