SRC/zgeequ.f(3)
okay bestie, welcome to SRC/zgeequ.f(3) from the Library Functions Manual β this is the ZGEEQU subroutine page, and itβs giving matrix-equilibration main character energy. π
β¨
π NAME π
SRC/zgeequ.f β yes, thatβs the name, no cap. π
β¨ SYNOPSIS β¨
π«Ά Functions/Subroutines π«Ά
subroutine zgeequ (m, n, a, lda, r, c, rowcnd, colcnd, amax, info)
ZGEEQU
short version: one subroutine, zgeequ, doing its little scaling thing. π¦
π Function/Subroutine Documentation π
hereβs the full signature, character-for-character, because we do not play with code:
subroutine zgeequ (integer m, integer n, complex*16, dimension( lda, * ) a,
integer lda, double precision, dimension( * ) r, double precision,
dimension( * ) c, double precision rowcnd, double precision colcnd,
double precision amax, integer info)
ZGEEQU
π― Purpose π―
okay so ZGEEQU computes row and column scalings intended to equilibrate an M-by-N matrix A and reduce its condition number. R returns the row scale factors and C the column scale factors, chosen to try to make the largest element in each row and column of the matrix B with elements B(i,j)=R(i)*A(i,j)*C(j) have absolute value 1.
R(i) and C(j) are restricted to be between SMLNUM = smallest safe number and BIGNUM = largest safe number. Use of these scaling factors is not guaranteed to reduce the condition number of A but works well in practice. π«Ά
π₯ Parameters π₯
MβM is INTEGER. The number of rows of the matrixA.M >= 0. πΈNβN is INTEGER. The number of columns of the matrixA.N >= 0. πΈAβA is COMPLEX*16 array, dimension (LDA,N). The M-by-N matrix whose equilibration factors are to be computed. πLDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,M). πRβR is DOUBLE PRECISION array, dimension (M). IfINFO = 0orINFO > M,Rcontains the row scale factors forA. β¨CβC is DOUBLE PRECISION array, dimension (N). IfINFO = 0,Ccontains the column scale factors forA. β¨ROWCNDβROWCND is DOUBLE PRECISION. IfINFO = 0orINFO > M,ROWCNDcontains the ratio of the smallestR(i)to the largestR(i). IfROWCND >= 0.1andAMAXis neither too large nor too small, it is not worth scaling byR. πCOLCNDβCOLCND is DOUBLE PRECISION. IfINFO = 0,COLCNDcontains the ratio of the smallestC(i)to the largestC(i). IfCOLCND >= 0.1, it is not worth scaling byC. π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= 0: successful exit< 0: ifINFO = -i, the i-th argument had an illegal value> 0: ifINFO = i, and i is<= M: the i-th row ofAis exactly zero> M: the (i-M)-th column ofAis exactly zero
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 138 of file zgeequ.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
LAPACK Version 3.12.0 β and the footer points at SRC/zgeequ.f(3). thatβs the source/version and page info, bestie; no extra date in this footer, so Iβm not inventing one. periodt. πβ¨
π¦ 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