/home/abui.../dpoequb.f(3)
π dpoequb.f(3) π
okay bestie, welcome to the Library Functions Manual page for /home/abui.../dpoequb.f(3). This one is all about dpoequb.f, and it's lowkey a little baddie in the LAPACK source tree. π
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dpoequb.f β that's the file this page is about, no cap. It's giving "deep in the build directory" main character energy. π
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine DPOEQUB (n, a, lda, s, scond, amax, info)
DPOEQUB
π¦ Function/Subroutine Documentation π¦
subroutine DPOEQUB (integer n, double precision, dimension( lda, * ) a,
integer lda, double precision, dimension( * ) s, double precision scond,
double precision amax, integer info)
DPOEQUB
π Purpose π
DPOEQUB computes row and column scalings intended to equilibrate a symmetric positive definite matrix A and reduce its condition number (with respect to the two-norm). S contains the scale factors, S(i) = 1/sqrt(A(i,i)), chosen so that the scaled matrix B with elements B(i,j) = S(i)*A(i,j)*S(j) has ones on the diagonal. This choice of S puts the condition number of B within a factor N of the smallest possible condition number over all possible diagonal scalings.
This routine differs from DPOEQU by restricting the scaling factors to a power of the radix. Barring over- and underflow, scaling by these factors introduces no additional rounding errors. However, the scaled diagonal entries are no longer approximately 1 but lie between sqrt(radix) and 1/sqrt(radix).
bestie, that last bit is the whole plot twist: the diagonal is not chillin' at ~1 anymore, it's hanging out betweensqrt(radix)and1/sqrt(radix). π«Ά
π Parameters π
NβN is INTEGER; the order of the matrixA.N >= 0.AβA is DOUBLE PRECISION array, dimension (LDA,N); the N-by-N symmetric positive definite matrix whose scaling factors are to be computed. Only the diagonal elements ofAare referenced.LDAβLDA is INTEGER; the leading dimension of the arrayA.LDA >= max(1,N).SβS is DOUBLE PRECISION array, dimension (N); ifINFO = 0,Scontains the scale factors forA.SCONDβSCOND is DOUBLE PRECISION; ifINFO = 0, the page saysScontains 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 DOUBLE PRECISION; absolute value of largest matrix element. IfAMAXis very close to overflow or very close to underflow, the matrix should be scaled.INFOβINFO is INTEGER; here's the full vibe check:= 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.
π Definition at line 117 of file dpoequb.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page, bestie πβ¨ β brought to you by LAPACK, Version 3.12.0, and the page path /home/abui.../dpoequb.f(3). go off, queen π
π
π¦ 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