CPOCON(3)
π CPOCON π
ok so this is a page from the Library Functions Manual, and honestly? it's giving math-girlie excellence. we're looking at cpocon.f(3) β yes, that whole path is literally the name, don't come for me:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cpocon.f
bestie, it's a LAPACK routine and it's lowkey iconic. let's get into it π«Ά
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cpocon.f β that's the file, that's the whole name, that's the vibe. periodt.
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine CPOCON (uplo, n, a, lda, anorm, rcond, work, rwork, info)β CPOCON. that's it, that's the function. she's here, she's ready π
π¦ Function/Subroutine Documentation π¦
subroutine CPOCON (character uplo, integer n, complex, dimension( lda, * ) a, integer lda, real anorm, real rcond, complex, dimension( * ) work, real, dimension( * ) rwork, integer info)
CPOCON
π Purpose π
!> !> CPOCON estimates the reciprocal of the condition number (in the !> 1-norm) of a complex Hermitian positive definite matrix using the !> Cholesky factorization A = U**H*U or A = L*L**H computed by CPOTRF. !> !> 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 real talk: she takes your Cholesky factorization (the A = U**H*U or A = L*L**H situation that CPOTRF already did for you) and she's like "how sketchy is this matrix, actually?" she estimates norm(inv(A)), then flips it into RCOND = 1 / (ANORM * norm(inv(A))). math girlie behavior, no cap π₯
π Parameters π
UPLO
!> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored.
which triangle of A we're keeping. 'U' = upper, 'L' = lower. pick your fighter π
N
!> N is INTEGER !> The order of the matrix A. N >= 0.
the order of the matrix A, and she's gotta be N >= 0. negative? absolutely not, blocked π
A
!> A is COMPLEX array, dimension (LDA,N) !> The triangular factor U or L from the Cholesky factorization !> A = U**H*U or A = L*L**H, as computed by CPOTRF.
the triangular factor U or L from that Cholesky factorization (A = U**H*U or A = L*L**H), straight outta CPOTRF. she's the main character, dimension (LDA,N) π
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N).
leading dimension of A. rule is LDA >= max(1,N). don't test her β
ANORM
!> ANORM is REAL !> The 1-norm (or infinity-norm) of the Hermitian matrix A.
the 1-norm (or infinity-norm, either one bestie) of the Hermitian matrix A. literally the size of the problem π¦
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.
the output glow-up β¨ it's the reciprocal of A's condition number, computed as RCOND = 1/(ANORM * AINVNM), where AINVNM is the estimate of the 1-norm of inv(A) that she cooks up in this very routine. iykyk π
WORK
!> WORK is COMPLEX array, dimension (2*N)
scratch space, complex, dimension (2*N). she works hard so you don't have to π
RWORK
!> RWORK is REAL array, dimension (N)
more scratch space, but real this time, dimension (N). equal opportunity workspace π
INFO
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value
the vibe check at the end π = 0 means successful exit, slay. < 0 means INFO = -i and the i-th argument had an illegal value β somebody did NOT read the parameter list, and it shows.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad came together for this one, we love a collab π«Άπ
Definition at line 119 of file cpocon.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (yes, the robots did the paperwork, we're just here for the vibes π§)
and that's the whole page, bestie! this doc came to you courtesy of LAPACK, Version 3.12.0, straight from /home/abui...RC/cpocon.f(3) β stay conditioned, stay positive definite, and remember: RCOND is just a girl estimating reciprocals π
πβ¨
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms