/home/abui...het01_aa.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ¦‹ NAME πŸ¦‹

okay so bestie, this whole page is literally about one file:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/zhet01_aa.f

that's it, that's the name πŸ’… it's a Fortran source file in the LAPACK testing lineup, and it's a Library Functions Manual page. slay.


✨ SYNOPSIS ✨

Functions/Subroutines πŸŽ€

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

no cap, that's the whole thing. ZHET01_AA is the subroutine name β€” iconic, uppercase, all caps energy πŸ‘‘


πŸ’– Function/Subroutine Documentation πŸ’–

subroutine ZHET01_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)

🌸 Purpose 🌸

okay so here's the vibe. ZHET01_AA 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. that's it. that's the whole job. reconstructive queen behavior fr fr ✨

🫢 Parameters 🫢

  • UPLO β€” UPLO is CHARACTER*1. tells us whether the upper or lower triangular part of the hermitian matrix A is stored:
    • = 'U': Upper triangular
    • = 'L': Lower triangular
  • N β€” N is INTEGER. the number of rows and columns of the matrix A. N >= 0. (zero is allowed bestie, don't come for me πŸ’€)
  • A β€” A is COMPLEX*16 array, dimension (LDA,N). it's the original hermitian matrix A. the main character, honestly πŸ‘‘
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. LDA >= max(1,N). respect the leading dimension or perish πŸ™ˆ
  • AFAC β€” AFAC is 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 ZHETRF. like, AFAC is the glow-up version of A, ok? handled by ZHETRF. iykyk 🌈
  • LDAFAC β€” LDAFAC is INTEGER. the leading dimension of the array AFAC. LDAFAC >= max(1,N). yes, a whole separate leading dimension. she has her own. πŸ’…
  • IPIV β€” IPIV is INTEGER array, dimension (N). the pivot indices from ZHETRF. the receipts of which rows got swapped πŸ”₯
  • C β€” C is COMPLEX*16 array, dimension (LDC,N). (that's genuinely all the original says about her β€” mysterious, lowkey main character energy πŸ¦‹)
  • LDC β€” LDC is INTEGER. the leading dimension of the array C. LDC >= max(1,N). third leading dimension of the page, we love consistency ✨
  • RWORK β€” RWORK is COMPLEX*16 array, dimension (N). (yep β€” the original literally declares it COMPLEX*16 here, even though the signature up top has it as double precision. not me spotting the mismatch 😭 just reading it to you exactly as written, bestie 🫢)
  • RESID β€” RESID is COMPLEX*16 (again β€” the signature line says double precision; i'm not the one who wrote this, i'm just the one who noticed πŸ™ˆ). here's what it means:
    • If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS )
    • If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS )

πŸ‘‘ Author πŸ‘‘

the legends behind this:

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

give them their flowers πŸ’

Definition at line 122 of file zhet01_aa.f. (yes we cite our sources, periodt πŸ’…)


🌟 Author 🌟

Generated automatically by Doxygen for LAPACK from the source code. so like, a robot wrote this page and i'm just re-decorating it 🧚


heads up bestie: this page is auto-generated docs for LAPACK test code β€” the COMPLEX*16 vs double precision thing for RWORK and RESID is straight out of the original text, so don't @ me 😭

LAPACK β€” Version 3.12.0, and that whole file-path header up top. mwah, take care of yourselves, run your tests, and stay slay πŸ’–πŸŽ€πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from