TESTING/LIN/ssyt01_3.f(3)
π TESTING/LIN/ssyt01_3.f(3) π
Straight from the Library Functions Manual, bestie β this is the page for the ssyt01_3 Fortran subroutine, and we're gonna read it like a group-chat study session. π
β¨ NAME β¨
TESTING/LIN/ssyt01_3.f β that's the name, and honestly it's giving "test routine with main character energy." It's the ssyt01_3 subroutine page, and yes, we're covering every single detail. No skips. Periodt. π
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine ssyt01_3 (uplo, n, a, lda, afac, ldafac, e, ipiv, c, ldc,
rwork, resid)
SSYT01_3
That's the whole vibe up top: one subroutine, twelve arguments, and a SSYT01_3 label doing its little iconic thing. π«Ά
π Function/Subroutine Documentation π
subroutine ssyt01_3 (character uplo, integer n, real, dimension( lda, * ) a,
integer lda, real, dimension( ldafac, * ) afac, integer ldafac, real,
dimension( * ) e, integer, dimension( * ) ipiv, real, dimension( ldc, *
) c, integer ldc, real, dimension( * ) rwork, real resid)
SSYT01_3
SSYT01_3 β that's the name, loud and clear. π
π― Purpose π―
Okay so check it: SSYT01_3 reconstructs a symmetric indefinite matrix A from its block L*D*L' or U*D*U' factorization computed by SSYTRF_RK (or SSYTRF_BK), and then computes the residual
norm( C - A ) / ( N * norm(A) * EPS ),
where C is the reconstructed matrix and EPS is the machine epsilon. It's giving "put the matrix back together and then check the damage." π§β¨
π§Έ Parameters π§Έ
UPLOβUPLO is CHARACTER*1. It specifies whether the upper or lower triangular part of the symmetric matrixAis stored:= 'U': Upper triangular= 'L': Lower triangular
NβN is INTEGER. The number of rows and columns of the matrixA. Constraint:N >= 0. πAβA is DOUBLE PRECISION array, dimension (LDA,N). The original symmetric matrixA.LDAβLDA is INTEGER. The leading dimension of the arrayA. Constraint:LDA >= max(1,N).AFACβAFAC is DOUBLE PRECISION array, dimension (LDAFAC,N). Diagonal of the block diagonal matrixDand factorsUorLas computed bySSYTRF_RKandSSYTRF_BK:a)ONLY diagonal elements of the symmetric block diagonal matrixDon the diagonal ofA, i.e.D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements ofDshould be provided on entry in arrayE), andb)IfUPLO = 'U': factorUin the superdiagonal part ofA. IfUPLO = 'L': factorLin the subdiagonal part ofA.
LDAFACβLDAFAC is INTEGER. The leading dimension of the arrayAFAC. Constraint:LDAFAC >= max(1,N).EβE is DOUBLE PRECISION array, dimension (N). On entry, contains the superdiagonal (or subdiagonal) elements of the symmetric block diagonal matrixDwith 1-by-1 or 2-by-2 diagonal blocks, where- If
UPLO = 'U':E(i) = D(i-1,i),i=2:N,E(1)not referenced; - If
UPLO = 'L':E(i) = D(i+1,i),i=1:N-1,E(N)not referenced.
- If
IPIVβIPIV is INTEGER array, dimension (N). The pivot indices fromSSYTRF_RK(orSSYTRF_BK). π₯CβC is DOUBLE PRECISION array, dimension (LDC,N).LDCβLDC is INTEGER. The leading dimension of the arrayC. Constraint:LDC >= max(1,N).RWORKβRWORK is DOUBLE PRECISION array, dimension (N).RESIDβRESID is DOUBLE PRECISION. IfUPLO = 'L',norm(L*D*L' - A) / ( N * norm(A) * EPS ); ifUPLO = 'U',norm(U*D*U' - A) / ( N * norm(A) * EPS ).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 138 of file ssyt01_3.f.
And the second Author note, because Doxygen said so: Generated automatically by Doxygen for LAPACK from the source code. π«
That's the tea, bestie: this page is LAPACK Version 3.12.0, from TESTING/LIN/ssyt01_3.f(3). Go slay your symmetric indefinite factorization β no cap. π
β¨
π¦ 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