SSYT01_ROOK(3)
π 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_ROOKreconstructs a symmetric indefinite matrixAfrom its !> blockL*D*L'orU*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βUPLOisCHARACTER*1. it says whether we're storing the upper or lower triangular part of the symmetric matrixA. the options, no cap:= 'U':Upper triangular= 'L':Lower triangular
NβNisINTEGER. the number of rows and columns of the matrixA. the rule isN >= 0. that's it, that's the math π«ΆAβAisREALarray, dimension(LDA,N). it's lowkey the original symmetric matrixA. the main character, honestly.LDAβLDAisINTEGER. the leading dimension of the arrayA, and it's gotta beLDA >= max(1,N). don't skip this one πAFACβAFACisREALarray, dimension(LDAFAC,N). this is the factored form of the matrixA.AFACcontains the block diagonal matrixDand the multipliers used to obtain the factorLorUfrom the blockL*D*L'orU*D*U'factorization, as computed bySSYTRF_ROOK. iconic handoff tbh π₯LDAFACβLDAFACisINTEGER. the leading dimension of the arrayAFAC, and yes bestie it needsLDAFAC >= max(1,N). πIPIVβIPIVisINTEGERarray, dimension(N). the pivot indices fromSSYTRF_ROOK. πCβCisREALarray, dimension(LDC,N). that's all she says. no notes. πLDCβLDCisINTEGER. the leading dimension of the arrayC, and yup,LDC >= max(1,N). πRWORKβRWORKisREALarray, dimension(N). short and sweet. βRESIDβRESIDisREAL. here's the tea:- If
UPLO = 'L', it'snorm(L*D*L' - A) / ( N * norm(A) * EPS ) - If
UPLO = 'U', it'snorm(U*D*U' - A) / ( N * norm(A) * EPS )
- If
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
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms