SRC/cspcon.f(3)
π SRC/cspcon.f
okay so this is a page from the LAPACK Library Functions Manual, and honestly? it's giving "quietly doing the most important math in the room" energy. bestie, let's get into it π«Ά
β¨ NAME β¨
SRC/cspcon.f β the file that brings you CSPCON, a Fortran subroutine living its best life estimating condition numbers. no cap. πΈ
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine cspcon (uplo, n, ap, ipiv, anorm, rcond, work, info)β that's the one and onlyCSPCONπ
π Function/Subroutine Documentation π
subroutine cspcon (character uplo, integer n, complex, dimension( * ) ap,
integer, dimension( * ) ipiv, real anorm, real rcond, complex,
dimension( * ) work, integer info)
CSPCON β say it with me. iconic name. π
π Purpose π
!> CSPCON estimates the reciprocal of the condition number (in the 1-norm) of a complex symmetric packed matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CSPTRF.
!> 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: it gets an estimate for norm(inv(A)), then flips it around into RCOND = 1 / (ANORM * norm(inv(A))). math girl summer π
β¨
π 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*U**T; !> = 'L': Lower triangular, form is A = L*D*L**T.
it's a single character telling you how the factorization got stored β upper or lower, pick your fighter. 'U' gives you A = U*D*U**T, 'L' gives you A = L*D*L**T. no in-between, it's not that kind of parameter. π¦
N
!> N is INTEGER !> The order of the matrix A. N >= 0.
the order of matrix A. and it's N >= 0, so no negative nonsense please, we're not doing that here. π
AP
!> AP is COMPLEX array, dimension (N*(N+1)/2) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L as computed by CSPTRF, stored as a !> packed triangular matrix.
this is the whole vibe: the block diagonal matrix D plus the multipliers used to get factor U or L, exactly as CSPTRF computed them, all packed into a triangular matrix. dimension is (N*(N+1)/2) β packed means packed, bestie, no wasted space. π
IPIV
!> IPIV is INTEGER array, dimension (N) !> Details of the interchanges and the block structure of D !> as determined by CSPTRF.
all the deets on the interchanges and the block structure of D, straight from CSPTRF. dimension (N). iykyk. π₯
ANORM
!> ANORM is REAL !> The 1-norm of the original matrix A.
it's REAL, and it's literally just the 1-norm of the original matrix A. main character energy, no complications. β
RCOND
!> RCOND is REAL !> 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.
also REAL. this is the whole point of the routine: the reciprocal of the condition number of A, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is the estimate of the 1-norm of inv(A) computed right here in this routine. she did that. π
WORK
!> WORK is COMPLEX array, dimension (2*N)
scratch space, COMPLEX, dimension (2*N). be nice to her, she's just holding your stuff. π
INFO
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value
the vibes report: 0 means successful exit (slay β¨), and < 0 means if INFO = -i, the i-th argument had an illegal value β so π check your arguments, bestie, that's on you not her.
π§ Author π§
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
four whole institutions, one legendary subroutine. periodt. π
Definition at line 117 of file cspcon.f. π
πΈ Author πΈ
Generated automatically by Doxygen for LAPACK from the source code. (the robots made this page, but the math was human π )
and that's the whole page, bestie π«Ά β LAPACK, Version 3.12.0, dated, from SRC/cspcon.f(3). go forth and estimate those condition numbers. slay πβ¨π¦
π¦ 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