SRC/cheequb.f(3)
πΈ NAME πΈ
okay bestie, this is the Library Functions Manual page for SRC/cheequb.f, and the header calls it SRC/cheequb.f(3). The whole page is about CHEEQUB, and the docs are lowkey iconic. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine cheequb (uplo, n, a, lda, s, scond, amax, work, info)βCHEEQUB. That's the subroutine, front and center. π«Ά
π Function/Subroutine Documentation π
π§ subroutine cheequb
subroutine cheequb (character uplo, integer n, complex, dimension( lda, * )
a, integer lda, real, dimension( * ) s, real scond, real amax, complex,
dimension( * ) work, integer info)
CHEEQUB β yes, that's the name in all caps, and it's giving main character energy. π
π Purpose:
okay so CHEEQUB computes row and column scalings intended to equilibrate a Hermitian matrix A (with respect to the Euclidean norm) and reduce its condition number. The scale factors S are computed by the BIN algorithm (see references) so that the scaled matrix B with elements B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of the smallest possible condition number over all possible diagonal scalings. That's the whole glow-up: matrix equilibration, no cap. Slay. β¨π₯
π Parameters
okay here's the full parameter lineup, no skips, no missing parameters:
UPLOβUPLO is CHARACTER*1= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
NβN is INTEGER; the order of the matrixA.N >= 0.AβA is COMPLEX array, dimension (LDA,N); the N-by-N Hermitian matrix whose scaling factors are to be computed.LDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,N).SβS is REAL array, dimension (N); ifINFO = 0,Scontains the scale factors forA.SCONDβSCOND is REAL; ifINFO = 0,Scontains the ratio of the smallestS(i)to the largestS(i). IfSCOND >= 0.1andAMAXis neither too large nor too small, it is not worth scaling byS.AMAXβAMAX is REAL; largest absolute value of any matrix element. IfAMAXis very close to overflow or very close to underflow, the matrix should be scaled.WORKβWORK is COMPLEX array, dimension (2*N).INFOβINFO is INTEGER= 0: successful exit< 0: if INFO = -i, the i-th argument had an illegal value> 0: if INFO = i, the i-th diagonal element is nonpositive.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π References:
- Livne, O.E. and Golub, G.H., "Scaling by Binormalization", Numerical Algorithms, vol. 35, no. 1, pp. 97-120, January 2004.
DOI 10.1023/B:NUMA.0000016606.32820.69- Tech report version:
π Definition at line 131 of file cheequb.f.
π¦ Author π¦
Generated automatically by Doxygen for LAPACK from the source code.
okay bye bestie! the footer signs off with LAPACK Version 3.12.0 and SRC/cheequb.f(3) β that's the source/version energy, no separate date line, and this page is officially over. iykyk πβ¨ππ
π¦ 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