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

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

πŸ’… NAME

ok so this is the man page for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zsycon_rook.f β€” yes that's the whole entire path, she's long, she's extra, she's iconic ✨ (and it's part of the LAPACK Library Functions Manual, iykyk).


πŸŽ€ SYNOPSIS

Functions/Subroutines

  • subroutine ZSYCON_ROOK (uplo, n, a, lda, ipiv, anorm, rcond, work, info) β€” that's her, that's the girl, ZSYCON_ROOK πŸ’–

πŸ¦‹ Function/Subroutine Documentation

subroutine ZSYCON_ROOK (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_ROOK β€” bestie she literally estimates condition numbers, main character energy fr fr πŸ‘‘

🌸 Purpose:

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

ok so translate: she takes your complex symmetric matrix A and your factorization (A = U*D*U**T or A = L*D*L**T) that ZSYTRF_ROOK already did for you, gets an estimate for norm(inv(A)), and then hits you with RCOND = 1 / (ANORM * norm(inv(A))). it's giving math but make it cute 🧚


🌈 Parameters

  • UPLO β€” UPLO is CHARACTER*1. tells us where the factorization details are stored, upper or lower triangular:
    • = '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. and listen, N >= 0, that's the vibe check, no negativity allowed πŸ™ˆ
  • A β€” A is COMPLEX*16 array, dimension (LDA,N). it's the block diagonal matrix D plus the multipliers used to obtain the factor U or L, exactly as computed by ZSYTRF_ROOK. she's already been through it, don't re-do her πŸ’…
  • LDA β€” LDA is INTEGER. the leading dimension of the array A. rule is LDA >= max(1,N), periodt.
  • IPIV β€” IPIV is INTEGER array, dimension (N). all the details of the interchanges and the block structure of D, as determined by ZSYTRF_ROOK. it's the receipts 🧾
  • ANORM β€” ANORM is DOUBLE PRECISION. the 1-norm of the original matrix A. the before picture πŸ“Έ
  • 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 final reveal ✨
  • WORK β€” WORK is COMPLEX*16 array, dimension (2*N). scratch space, note the 2*N, not N, don't play yourself 😭
  • 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.

🌟 Contributors:

!>
!>   December 2016, Igor Kozachenko,
!>                  Computer Science Division,
!>                  University of California, Berkeley
!>
!>  September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
!>                  School of Mathematics,
!>                  University of Manchester
!>
!>

shoutout to Igor (Dec 2016, Computer Science Division, University of California, Berkeley) and to Sven Hammarling, Nicholas J. Higham and Craig Lucas (September 2007, School of Mathematics, University of Manchester) β€” the founding mothers/fathers of this whole situation 🫢


Definition at line 137 of file zsycon_rook.f. yes, line one-three-seven, screenshot it πŸ“Œ


⭐ Author

Generated automatically by Doxygen for LAPACK from the source code.


ok that's the whole page bestie, no notes πŸ’œ β€” this was LAPACK, Version 3.12.0, and yeah the header/footer said /home/abui...con_rook.f(3) the whole time, mwah, bye πŸ“

πŸ“¦ where this page comes from