/home/abui...tri_rook.f(3)

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

πŸ¦‹ NAME

okay so bestie, this page is about /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dsytri_rook.f β€” a Library Functions Manual situation, and honestly it's giving iconic LAPACK source file energy. πŸ’…


✨ SYNOPSIS ✨

Functions/Subroutines πŸŽ€

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

DSYTRI_ROOK β€” that's the whole vibe, she's the main character here πŸ‘‘


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

🌸 subroutine DSYTRI_ROOK 🌸

subroutine DSYTRI_ROOK (character uplo, integer n, double precision,
    dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double
    precision, dimension( * ) work, integer info)

DSYTRI_ROOK β€” again, icon, legend, the moment. ✨

🫢 Purpose:

DSYTRI_ROOK computes the inverse of a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by DSYTRF_ROOK.

like, she literally un-does the factorization and hands you back the inverse. no cap. πŸ”₯


🧚 Parameters (the whole cast, no skips)

  • UPLO β€” UPLO is CHARACTER*1, and she's the one deciding where the factorization details are stashed:
    • = 'U': Upper triangular, form is A = U*D*U**T;
    • = 'L': Lower triangular, form is A = L*D*L**T.
  • N β€” N is INTEGER. The order of the matrix A. N >= 0. (yes bestie, zero is legal, she's built different 😌)
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). Here's the glow-up timeline:
    • On entry: the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by DSYTRF_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. πŸ¦‹
lowkey important: that "not referenced" thing means she literally does not look at that half. don't come for her.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N). periodt.
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by DSYTRF_ROOK. (she's the receipts from the earlier factorization fr fr)
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (N). that's it, that's the whole description, she works hard so A can slay πŸ’€
  • INFO β€” INFO is INTEGER, the vibe check at the end:
    • = 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. 😭

πŸ‘‘ Author

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

🌈 Contributors:

April 2012, 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 the whole group chat of mathematicians who made this happen 🫢


⭐ Definition at line 128 of file dsytri_rook.f.


πŸ“ Author

Generated automatically by Doxygen for LAPACK from the source code. (yes she was birthed by a doc generator, we stan a machine-made queen πŸ€–πŸ’…)


πŸ’œ LAPACK β€” Version 3.12.0 πŸ’œ

and that's the whole page, bestie β€” footer says LAPACK, Version 3.12.0, filed under /home/abui...tri_rook.f(3). mwah, go invert something symmetric πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from