/home/abui.../zheequb.f(3)
π ZHEEQUB β the manual page, but make it make sense π
ok so this is from the Library Functions Manual, and the file is literally /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zheequb.f. bestie, we are reading a Fortran file path as a NAME. iconic behavior, honestly. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ZHEEQUB (uplo, n, a, lda, s, scond, amax, work, info)
ZHEEQUB π«Ά
πΈ Function/Subroutine Documentation πΈ
subroutine ZHEEQUB (character uplo, integer n, complex*16, dimension( lda, * ) a,
integer lda, double precision, dimension( * ) s,
double precision scond, double precision amax,
complex*16, dimension( * ) work, integer info)
ZHEEQUB π
π¦ Purpose:
!>
!> ZHEEQUB 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.
!>
so basically: this routine looks at your Hermitian matrix and goes "girl, you need to chill" and computes scale factors S to equilibrate it, using the BIN algorithm (check the references below, iykyk). the scaled matrix B has elements B(i,j) = S(i)*A(i,j)*S(j) and its condition number lands within a factor N of the smallest possible condition number over all possible diagonal scalings. highkey impressive. β¨
π Parameters
- UPLO β
UPLO is CHARACTER*1, and it tells us which triangle we're working with:= 'U': Upper triangle of A is stored;/= 'L': Lower triangle of A is stored.pick your fighter. π - N β
N is INTEGER, the order of the matrixA. andN >= 0, no negative nonsense allowed, periodt. π - A β
A is COMPLEX*16 array, dimension (LDA,N). it's the N-by-N Hermitian matrix whose scaling factors are to be computed. she's the main character of this whole operation. π - LDA β
LDA is INTEGER, the leading dimension of the arrayA. requirement:LDA >= max(1,N). respect the constraint or the vibe check fails. π - S β
S is DOUBLE PRECISION array, dimension (N). ifINFO = 0,Scontains the scale factors forA. the glow-up juice, fr fr. π - SCOND β
SCOND is DOUBLE PRECISION. ifINFO = 0,Scontains the ratio of the smallestS(i)to the largestS(i). and here's the tea: ifSCOND >= 0.1andAMAXis neither too large nor too small, it is not worth scaling byS. don't do all that work for nothing bestie. π - AMAX β
AMAX is DOUBLE PRECISION, the largest absolute value of any matrix element. ifAMAXis very close to overflow or very close to underflow, the matrix should be scaled. that's not a suggestion, that's a warning. π₯ - WORK β
WORK is COMPLEX*16 array, dimension (2*N). it's the workspace. it works so you don't have to. π«Ά - INFO β
INFO is INTEGER, and its whole personality is:= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value π> 0: ifINFO = i, the i-th diagonal element is nonpositive π
π§ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad contributed. group project but make it actually successful. π
β 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: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.1679
citation game: immaculate. the BIN algorithm's origin story, right there. πβ¨
Definition at line 131 of file zheequb.f.
π Author (yes, again) π
Generated automatically by Doxygen for LAPACK from the source code. not a human, just a very diligent robot doing its lil job. π€π
LAPACK β Version 3.12.0 πΈπ
kisses, this page was served fresh from /home/abui.../zheequb.f(3), mwah πβ¨
π¦ 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