CSYTRI(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸŽ€ CSYTRI(3) β€” csytri.f, the manual page πŸ’…

okay bestie, so this is the man page for /home/abui...RC/csytri.f(3), straight out of the LAPACK library. it's a .f file, it's iconic, it's mathematical, let's go ✨


🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/csytri.f

like, that's the whole name. it's a whole path. she's thorough. πŸ’…


✨ SYNOPSIS ✨

Functions/Subroutines 🫢

subroutine CSYTRI (uplo, n, a, lda, ipiv, work, info)
    CSYTRI

πŸ’– Function/Subroutine Documentation πŸ’–

subroutine CSYTRI (character uplo, integer n, complex, dimension( lda, * )
    a, integer lda, integer, dimension( * ) ipiv, complex, dimension( * )
    work, integer info)
    CSYTRI

πŸ”₯ Purpose πŸ”₯

so the whole point of her:

!>
!> CSYTRI computes the inverse of a complex symmetric indefinite matrix
!> A using the factorization A = U*D*U**T or A = L*D*L**T computed by
!> CSYTRF.
!>

like, she inverts. matrix goes in, inverse comes out, but only if you already ran CSYTRF first. 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*U**T;
!>          = 'L':  Lower triangular, form is A = L*D*L**T.
!>

one character, two moods ✨ 'U' = upper triangular, form is A = U*D*U**T, and 'L' = lower triangular, form is A = L*D*L**T. pick your vibe, she'll respect it.

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. gotta be N >= 0, we don't do negative dimensions around here πŸ™ˆ

A

!>          A is COMPLEX 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 CSYTRF.
!>
!>          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 array, dimension (LDA,N). she has two eras, bestie:

  • on entry she's holding the block diagonal matrix D plus the multipliers used to obtain the factor U or L, exactly as computed by CSYTRF
  • on exit, if INFO = 0, she's the (symmetric) inverse of the original matrix πŸ’–

and the glow-up rules: 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. mind the triangle, she's very particular 🌈

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 must satisfy LDA >= max(1,N). rules are rules πŸŽ€

IPIV

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

IPIV is an INTEGER array, dimension (N), holding the details of the interchanges and the block structure of D as determined by CSYTRF. she's the receipts from your earlier factorization run, keep her safe 🫢

WORK

!>          WORK is COMPLEX array, dimension (2*N)
!>

WORK is a COMPLEX array, dimension (2*N). it's the workspace. she works, she doesn't complain πŸ’…

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

  • = 0 β€” successful exit, we ate πŸ”₯
  • < 0 β€” if INFO = -i, the i-th argument had an illegal value, someone did not read the docs 😭
  • > 0 β€” if INFO = i, then D(i,i) = 0; the matrix is singular and its inverse could not be computed. that one's a hard no, bestie πŸ’€

πŸ‘‘ Author πŸ‘‘

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

absolute legends, all of them 🌟


⭐ Definition at line 113 of file csytri.f. ⭐

like, that's where she lives. line 113. iykyk.


πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code. the robots did this one, not me πŸ™ˆ


okay that's the whole page, no skips, no crumbs left behind πŸ“ and the sign-off: this beauty is from LAPACK, Version 3.12.0, and the footer date/path bits are /home/abui...RC/csytri.f(3). mwah, go invert something safely βœ¨πŸ’–πŸŽ€

πŸ“¦ where this page comes from