SRC/dsycon_rook.f(3)
π SRC/dsycon_rook.f(3) β like, the whole page, bestie
okay so real talk: this is a page from the Library Functions Manual (that's the manual name, we're folding it in right here at the top so it doesn't get lost π), and it's all about one single Fortran subroutine that will absolutely tell you how trustworthy your symmetric matrix is. no cap.
β¨ NAME β¨
SRC/dsycon_rook.f
that's it. that's the name. iconic minimalism honestly π
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine dsycon_rook (uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)β the main character herself:DSYCON_ROOKπ
πΈ Function/Subroutine Documentation πΈ
subroutine dsycon_rook (character uplo, integer n, double precision,
dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double
precision anorm, double precision rcond, double precision, dimension( *
) work, integer, dimension( * ) iwork, integer info)
DSYCON_ROOK β say it with your chest π
π Purpose π
!> !>DSYCON_ROOKestimates the reciprocal of the condition number (in the !> 1-norm) of a real symmetric matrix A using the factorization !> A = U*D*UT or A = L*D*LT computed byDSYTRF_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))). !>
so basically: you already ran DSYTRF_ROOK, you've got your factorization, and now this lil icon goes "okay but likeβ¦ how sketchy is this matrix actually?" and hands you back a RCOND. bless. π«Ά
π Parameters π
UPLO
!> UPLO is CHARACTER*1 !> Specifies whether the details of the factorization are stored !> as an upper or lower triangular matrix. !> = 'U': Upper triangular, form is A = U*D*UT; !> = 'L': Lower triangular, form is A = L*D*LT. !>
pick your fighter: 'U' for upper, 'L' for lower. that's the whole vibe check π«
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
the order of A. must be N >= 0 β no negative order nonsense, we don't do that here π
A
!> A is DOUBLE PRECISION array, dimension (LDA,N) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L as computed by DSYTRF_ROOK. !>
DOUBLE PRECISION array, dimension (LDA,N). it's holding the block diagonal matrix D and the multipliers that got you your U or L, exactly as DSYTRF_ROOK computed them. don't touch it, just appreciate it β¨
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
the leading dimension of A, and yes LDA >= max(1,N). periodt.
IPIV
!> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D !> as determined by DSYTRF_ROOK. !>
INTEGER array, dimension (N). all the tea about the interchanges and the block structure of D, straight from DSYTRF_ROOK π
ANORM
!> ANORM is DOUBLE PRECISION !> The 1-norm of the original matrix A. !>
DOUBLE PRECISION, and it's the 1-norm of the original A β the before picture, not the factored one π¦
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. !>
DOUBLE PRECISION. this is the output, the whole point, the moment π computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) that this very routine cooked up. slay.
WORK
!> WORK is DOUBLE PRECISION array, dimension (2*N) !>
DOUBLE PRECISION array, dimension (2*N). scratch space, mind ya business π₯
IWORK
!> IWORK is INTEGER array, dimension (N) !>
INTEGER array, dimension (N). more scratch, also mind ya business β
INFO
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !>
INTEGER. = 0 means successful exit, we love a win π. < 0 means if INFO = -i, the i-th argument had an illegal value β so go count your arguments, bestie π
π§ Author π§
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad showed up for this one π«Ά
π Contributors: π
!> !> April 2012, 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 Kozachenko (April 2012, Computer Science Division, University of California, Berkeley) and to Sven Hammarling, Nicholas J. Higham & Craig Lucas (September 2007, School of Mathematics, University of Manchester). legends only π
Definition at line 142 of file dsycon_rook.f. go look, it's right there π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (yes the robots wrote the docs, we're just adding the glitter β¨)
π tiny reminder: this page is documentation aboutdsycon_rook, not the routine itself. don't try to./it.
and that's the whole page, bestie β no details left behind, no cap π
LAPACK β Version 3.12.0 β SRC/dsycon_rook.f(3) π¦ mwah, see u in the next manpage π
π¦ 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