TESTING/LIN/zsyt01.f(3)
π TESTING/LIN/zsyt01.f β from the LAPACK manual, bestie
okay so this is zsyt01.f, page 3 of the manual, and it lives in TESTING/LIN/ β yes it's a test routine, main character energy but for checking other people's math π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine zsyt01 (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork,
resid)
ZSYT01 π«Ά
πΈ Function/Subroutine Documentation πΈ
subroutine zsyt01 (character uplo, integer n, complex*16, dimension( lda, *
) a, integer lda, complex*16, dimension( ldafac, * ) afac, integer
ldafac, integer, dimension( * ) ipiv, complex*16, dimension( ldc, * ) c,
integer ldc, double precision, dimension( * ) rwork, double precision
resid)
ZSYT01 β¨
π Purpose:
!>
!> ZSYT01 reconstructs a complex 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, EPS is the machine epsilon,
!> L' is the transpose of L, and U' is the transpose of U.
!>
so basically it rebuilds A from its factorization β literally reverse-engineering the glow-up β and then checks how close it got. iconic behavior π
π Parameters
UPLOβUPLO is CHARACTER*1. tells it which triangular half of the complex symmetric matrix A you actually stored:= 'U'means upper triangular,= 'L'means lower triangular πΌπ½NβN is INTEGER. how many rows and columns the matrix A has.N >= 0(zero is allowed, no judgement π)AβA is COMPLEX*16 array, dimension (LDA,N). the original complex symmetric matrix A, the one and only πLDAβLDA is INTEGER. the leading dimension of the arrayA. needsLDA >= max(1,N)β οΈAFACβAFAC is COMPLEX*16 array, dimension (LDAFAC,N). the factored form of A, fr fr β it holds the block diagonal matrix D plus the multipliers that build the factor L or U from the blockL*D*L'orU*D*U'factorization, exactly as computed byZSYTRFπ§LDAFACβLDAFAC is INTEGER. the leading dimension of the arrayAFAC.LDAFAC >= max(1,N). β¨IPIVβIPIV is INTEGER array, dimension (N). the pivot indices fromZSYTRF, straight from the source π―CβC is COMPLEX*16 array, dimension (LDC,N). the reconstructed matrix goes here, no notes πLDCβLDC is INTEGER. the leading dimension of the arrayC.LDC >= max(1,N). πRWORKβRWORK is DOUBLE PRECISION array, dimension (N). scratch space, doing its quiet little job πRESIDβRESID is DOUBLE PRECISION. the tea β β the actual residual:- if
UPLO = 'L':norm(L*D*L' - A) / ( N * norm(A) * EPS ) - if
UPLO = 'U':norm(U*D*U' - A) / ( N * norm(A) * EPS )
- if
watch urLDA,LDAFACandLDCbestie β they all gotta be>= max(1,N)or it's over for you π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 123 of file zsyt01.f.
π¦ Author (meta edition)
Generated automatically by Doxygen for LAPACK from the source code. yes the docs generate themselves, we love a self-sufficient queen π
and that's the whole page bestie, no cap, every flag and every caveat intact π β¨
signing off β LAPACK, Version 3.12.0, and this little zsyt01.f(3) page ππ«Ά see u in the next one πΈ
π¦ 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