ZTRTI2(3)

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

πŸ’… ZTRTI2(3) β€” like, the whole entire manual page, bestie

okay so this is a page from LAPACK, version 3.12.0, manual section 3. Pull up a chair, grab a boba, and let's get into it πŸ§‹βœ¨


πŸŽ€ NAME πŸŽ€

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

like yes, the NAME section is literally just the file path. that's the whole name. she's lowkey just a location tag, and honestly? iconic. no cap, that's what the original says and I'm not about to lie to you πŸ’…


✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines

subroutine ZTRTI2 (uplo, diag, n, a, lda, info)

ZTRTI2 computes the inverse of a triangular matrix (unblocked algorithm). that's the one-liner, and yes she ate πŸ’–


🌸 Function/Subroutine Documentation 🌸

subroutine ZTRTI2 (character uplo, character diag, integer n, complex*16,
    dimension( lda, * ) a, integer lda, integer info)

ZTRTI2 computes the inverse of a triangular matrix (unblocked algorithm). fr fr, that's the whole job description.

πŸ’œ Purpose:

!>
!> ZTRTI2 computes the inverse of a complex upper or lower triangular
!> matrix.
!>
!> This is the Level 2 BLAS version of the algorithm.
!>

so she inverts a complex upper-or-lower triangular matrix, and this particular flavor is the Level 2 BLAS version of the algorithm. the "unblocked" one. the scrappy one. main character energy honestly πŸ‘‘


πŸ“ Parameters

🌈 UPLO

!>          UPLO is CHARACTER*1
!>          Specifies whether the matrix A is upper or lower triangular.
!>          = 'U':  Upper triangular
!>          = 'L':  Lower triangular
!>

UPLO is CHARACTER*1 and it's literally just answering the vibe check question: is A upper or lower triangular?

  • 'U' β†’ Upper triangular ⬆️
  • 'L' β†’ Lower triangular ⬇️

πŸ¦‹ DIAG

!>          DIAG is CHARACTER*1
!>          Specifies whether or not the matrix A is unit triangular.
!>          = 'N':  Non-unit triangular
!>          = 'U':  Unit triangular
!>

DIAG is CHARACTER*1 and it tells you whether A is unit triangular or not, like:

  • 'N' β†’ Non-unit triangular
  • 'U' β†’ Unit triangular

⭐ N

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

N is INTEGER: the order of the matrix A. and bestie, N >= 0. non-negotiable. the constraint said what it said πŸ™ˆ


πŸŽ€ A

!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          On entry, the triangular matrix A.  If UPLO = 'U', the
!>          leading n by n upper triangular part of the array A contains
!>          the upper triangular matrix, and the strictly lower
!>          triangular part of A is not referenced.  If UPLO = 'L', the
!>          leading n by n lower triangular part of the array A contains
!>          the lower triangular matrix, and the strictly upper
!>          triangular part of A is not referenced.  If DIAG = 'U', the
!>          diagonal elements of A are also not referenced and are
!>          assumed to be 1.
!>
!>          On exit, the (triangular) inverse of the original matrix, in
!>          the same storage format.
!>

A is a COMPLEX*16 array, dimension (LDA,N). here's the tea β˜•:

  • On entry β€” she's the triangular matrix A.
    • if UPLO = 'U', the leading n by n upper triangular part of the array A holds the upper triangular matrix, and the strictly lower triangular part of A is not referenced. not even looked at. she's minding her business πŸ’…
    • if UPLO = 'L', the leading n by n lower triangular part of the array A holds the lower triangular matrix, and the strictly upper triangular part of A is not referenced.
    • if DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. so don't come for her diagonal, she's not reading it 🫢
  • On exit β€” she holds the (triangular) inverse of the original matrix, in the same storage format. glow-up complete ✨

🌸 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 the rule is LDA >= max(1,N). write it down, put it on your mirror, whatever 😭


πŸ”₯ INFO

!>          INFO is INTEGER
!>          = 0: successful exit
!>          < 0: if INFO = -k, the k-th argument had an illegal value
!>

INFO is INTEGER, the little status reporter:

  • = 0 β†’ successful exit πŸŽ‰ slay, we're done
  • < 0 β†’ if INFO = -k, the k-th argument had an illegal value πŸ’€ so like, go check your arguments bestie

πŸ‘‘ Author

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

all four of them. the whole squad. no cap πŸ’œ

Definition at line 109 of file ztrti2.f. yep, that's the exact line. iykyk.


🌈 Author

Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this page, a robot did it, and honestly? she did a great job 🧚


ok that's the page!! every single parameter, every single constraint, every single !> line accounted for. nothing skipped, nothing invented. that's the whole rule and we followed it 🫢

LAPACK β€” Version 3.12.0 🌟 and the page itself lives at /home/abui...RC/ztrti2.f(3) β€” go forth and invert those triangular matrices, bestie. you're gonna do amazing. periodt. πŸ’…πŸ’–βœ¨

πŸ“¦ where this page comes from