ZSYCON(3)

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

πŸ¦‹ ZSYCON(3) β€” Library Functions Manual πŸ¦‹

Okay bestie, so this page lives in the Library Functions Manual and it's literally the doc for /home/abui...RC/zsycon.f(3). Buckle up, we're getting into some LAPACK lore πŸ’…


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zsycon.f

Yep, that's the whole name. It's a .f file, she's a Fortran girlie, and that's the entire vibe. πŸŽ€


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine ZSYCON (uplo, n, a, lda, ipiv, anorm, rcond, work, info)

ZSYCON β€” that's her name, don't wear it out ✨


πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine ZSYCON (character uplo, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision anorm, double precision rcond, complex*16, dimension( * ) work, integer info)

ZSYCON πŸ’– (yes, again, it's giving full government name energy)

🧚 Purpose:

!> ZSYCON estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric matrix A using the factorization A = U*D*UT or A = L*D*LT computed by ZSYTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).

So like, fr fr, ZSYCON takes your complex symmetric matrix A, which you already factored with ZSYTRF into either A = U*D*U**T or A = L*D*L**T, and it estimates the reciprocal of the condition number in the 1-norm. It gets an estimate for norm(inv(A)) and then does the math: RCOND = 1 / (ANORM * norm(inv(A))). Lowkey iconic 🫢


πŸ’œ Parameters πŸ’œ

  • UPLO β€” UPLO is CHARACTER*1. Tells us whether the factorization details are stored as an upper or lower triangular matrix:
    • = 'U': Upper triangular, form is A = U*D*U**T;
    • = 'L': Lower triangular, form is A = L*D*L**T.
  • N β€” N is INTEGER. The order of the matrix A. Requirement: N >= 0. πŸ‘‘
  • A β€” A is COMPLEX*16 array, dimension (LDA,N). This is the block diagonal matrix D plus the multipliers used to obtain the factor U or L, exactly as computed by ZSYTRF. πŸ’…
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. Requirement: LDA >= max(1,N). Don't skip the vibe check on this one πŸ™ˆ
  • IPIV β€” IPIV is INTEGER array, dimension (N). All the deets about the interchanges and the block structure of D, as determined by ZSYTRF. πŸ“
  • ANORM β€” ANORM is DOUBLE PRECISION. The 1-norm of the original matrix A. ✨
  • RCOND β€” RCOND is DOUBLE PRECISION. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine. She's the main character of the output, honestly 🌟
  • WORK β€” WORK is COMPLEX*16 array, dimension (2*N). The scratch space. Not glamorous but we love her anyway πŸ’€
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit πŸŽ‰
    • < 0: if INFO = -i, the i-th argument had an illegal value 😭

🌈 Author 🌈

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

Four whole institutions, we stan a collaborative icon πŸ‘‘


⭐ Definition at line 123 of file zsycon.f. ⭐

That's the receipt, no cap. πŸ”₯


πŸŽ€ Author (again, because she's extra) πŸŽ€

Generated automatically by Doxygen for LAPACK from the source code. Not me writing by hand, it's giving robot-typed slay πŸ€–βœ¨


Heads up bestie: this whole page is machine-generated documentation, so if something looks weird, blame Doxygen, not me 🫢

And that's a wrap, babes 🌸 β€” this page is from LAPACK, Version 3.12.0, and it came straight out of /home/abui...RC/zsycon.f(3). Periodt. πŸ’–

πŸ“¦ where this page comes from