SSYT01_ROOK(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

πŸ’… NAME πŸ’…

okay so bestie, this page is from the TESTING/LI...yt01_rook.f(3) corner of the Library Functions Manual β€” it's literally the manpage for TESTING/LIN/ssyt01_rook.f, and the whole vibe is "let me reconstruct your symmetric indefinite matrix and check my work." πŸŽ€

✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines

subroutine ssyt01_rook (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc,
    rwork, resid)

SSYT01_ROOK β€” that's the whole name, no notes, periodt. πŸ’…

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

subroutine ssyt01_rook (character uplo, integer n, real, dimension( lda, * )
    a, integer lda, real, dimension( ldafac, * ) afac, integer ldafac,
    integer, dimension( * ) ipiv, real, dimension( ldc, * ) c, integer ldc,
    real, dimension( * ) rwork, real resid)

SSYT01_ROOK

🌸 Purpose 🌸

!> !> SSYT01_ROOK reconstructs a symmetric indefinite matrix A from its !> block L*D*L' or U*D*U' factorization and computes the residual !> !> !> norm( C - A ) / ( N * norm(A) * EPS ),

hmm wait bestie let me redo that so the code stays exactly code:

!>
!> SSYT01_ROOK reconstructs a symmetric indefinite matrix A from its
!> block L*D*L' or U*D*U' factorization and computes the residual
!>    norm( C - A ) / ( N * norm(A) * EPS ),
!> where C is the reconstructed matrix and EPS is the machine epsilon.
!>

so basically C is the reconstructed matrix and EPS is the machine epsilon β€” it's giving "did we actually rebuild A correctly or did we fumble it" ✨

🧚 Parameters 🧚


  • UPLO β€” UPLO is CHARACTER*1. it says whether we're storing the upper or lower triangular part of the symmetric matrix A. the options, no cap:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” N is INTEGER. the number of rows and columns of the matrix A. the rule is N >= 0. that's it, that's the math 🫢
  • A β€” A is REAL array, dimension (LDA,N). it's lowkey the original symmetric matrix A. the main character, honestly.
  • LDA β€” LDA is INTEGER. the leading dimension of the array A, and it's gotta be LDA >= max(1,N). don't skip this one πŸ™ˆ
  • AFAC β€” AFAC is REAL array, dimension (LDAFAC,N). this is the factored form of the matrix A. AFAC contains the block diagonal matrix D and the multipliers used to obtain the factor L or U from the block L*D*L' or U*D*U' factorization, as computed by SSYTRF_ROOK. iconic handoff tbh πŸ”₯
  • LDAFAC β€” LDAFAC is INTEGER. the leading dimension of the array AFAC, and yes bestie it needs LDAFAC >= max(1,N). πŸ’€
  • IPIV β€” IPIV is INTEGER array, dimension (N). the pivot indices from SSYTRF_ROOK. πŸŽ€
  • C β€” C is REAL array, dimension (LDC,N). that's all she says. no notes. πŸ’…
  • LDC β€” LDC is INTEGER. the leading dimension of the array C, and yup, LDC >= max(1,N). 🌈
  • RWORK β€” RWORK is REAL array, dimension (N). short and sweet. ⭐
  • RESID β€” RESID is REAL. here's the tea:
    • If UPLO = 'L', it's norm(L*D*L' - A) / ( N * norm(A) * EPS )
    • If UPLO = 'U', it's norm(U*D*U' - A) / ( N * norm(A) * EPS )

literally the whole point of the routine, and it's serving the results. πŸ‘‘

πŸ’– Author πŸ’–

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 122 of file ssyt01_rook.f. πŸ¦‹

πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for LAPACK from the source code. (yes, a robot wrote the manpage, we're just here to make it cute 😭)


okay bestie that's the whole page β€” every flag, every dimension, every >= max(1,N), all of it, untouched. now go forth and residual-check responsibly πŸ’œ

LAPACK Β· Version 3.12.0 Β· TESTING/LI...yt01_rook.f(3) β€” mwah, catch you in the next manpage πŸ’…βœ¨πŸ“

πŸ“¦ where this page comes from