TESTING/LIN/zsyt01_aa.f(3)

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

πŸ’– TESTING/LIN/zsyt01_aa.f πŸ’–

Okay so bestie, this is the manual page for TESTING/LIN/zsyt01_aa.f from the LAPACK library β€” it's giving very niche linear algebra energy and honestly? We're obsessed. 🧚✨


✨ NAME ✨

TESTING/LIN/zsyt01_aa.f β€” no cap, that's literally the whole name, periodt. πŸ’…


πŸ’… SYNOPSIS πŸ’…

πŸŽ€ Functions/Subroutines πŸŽ€

  • subroutine zsyt01_aa (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid) β€” the main character of this whole page, fr fr.
    • ZSYT01 β€” yes queen, that's the short name and it ate. πŸ‘‘

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

✨ subroutine zsyt01_aa ✨

subroutine zsyt01_aa (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 β€” that's the vibe check. 😌


🌸 Purpose 🌸

!> !> ZSYT01 reconstructs a hermitian 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 like, it takes the factored version of your matrix, puts it back together (reconstruction era πŸ’–), and then checks how close it got. The residual formula is the whole point β€” it's literally norm( C - A ) / ( N * norm(A) * EPS ). Slay. πŸ”₯


πŸ’œ Parameters πŸ’œ

  • UPLO β€” is a CHARACTER*1. It tells us whether we're storing the upper or lower triangular part of the hermitian matrix A. The options are:
    • = 'U': Upper triangular β€” the top half, iykyk. ⬆️
    • = 'L': Lower triangular β€” the bottom half, periodt. ⬇️
  • N β€” is an INTEGER. The number of rows and columns of the matrix A. And bestie, N >= 0 β€” no negative dimensions allowed, that's not the vibe. 🚫
  • A β€” is a COMPLEX*16 array, dimension (LDA,N). The original hermitian matrix A. The blueprint, the source material, the main character before reconstruction. πŸ‘‘
  • LDA β€” is an INTEGER. The leading dimension of the array A. Constraint: LDA >= max(1,N). Respect the leading dimension, okay? πŸ’…
  • AFAC β€” is a COMPLEX*16 array, dimension (LDAFAC,N). 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 ZSYTRF. So like, it's the already-glow-up version β€” we're just checking the reconstruction. ✨
  • LDAFAC β€” is an INTEGER. The leading dimension of the array AFAC. Constraint: LDAFAC >= max(1,N). Again β€” respect it. 🫢
  • IPIV β€” is an INTEGER array, dimension (N). The pivot indices from ZSYTRF. They're the receipts from the factorization, basically. 🧾
  • C β€” is a COMPLEX*16 array, dimension (LDC,N). (No extra description needed, she's self-explanatory and that's iconic. πŸ’β€β™€οΈ)
  • LDC β€” is an INTEGER. The leading dimension of the array C. Constraint: LDC >= max(1,N). You already know the drill. 🌈
  • RWORK β€” is a COMPLEX*16 array, dimension (N). (Just vibes. No further notes. πŸ“)
  • RESID β€” is a COMPLEX*16. And here's where it gets juicy:
    • If UPLO = 'L', it returns norm(L*D*L' - A) / ( N * norm(A) * EPS )
    • If UPLO = 'U', it returns norm(U*D*U' - A) / ( N * norm(A) * EPS )

So it's literally the residual, based on which triangle you picked. Lowkey the most important part. 😭πŸ”₯


πŸ‘‘ Author πŸ‘‘

Shoutout to the brainiacs behind this:

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

They ate and left no crumbs. πŸ’…βœ¨


⭐ Definition at line 122 of file zsyt01_aa.f. ⭐

That's the exact location if you wanna go read the source β€” go off, bestie. πŸ“–


πŸ’– Author πŸ’–

Generated automatically by Doxygen for LAPACK from the source code. So like, not me writing this by hand β€” the robots did it, and they understood the assignment. πŸ€–βœ¨


So yeah, that's the whole page. LAPACK Version 3.12.0, TESTING/LIN/zsyt01_aa.f(3) β€” brought to you by Doxygen and the LAPACK girlies. No cap, this was a journey. πŸ’œπŸŒΈπŸ¦‹

πŸ“¦ where this page comes from