DGEEQU(3)
π dgeequ.f(3) β Library Functions Manual
okay so this is the dgeequ.f(3) page from the Library Functions Manual, and weβre about to get into some matrix-equilibration business. stay with me bestie, itβs actually kinda iconic β¨
π NAME
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dgeequ.f β thatβs the file path, no cap π
β¨ SYNOPSIS
π¦ Functions/Subroutines
subroutine DGEEQU (m, n, a, lda, r, c, rowcnd, colcnd, amax, info)β DGEEQU, our main character π
πΈ Function/Subroutine Documentation
π DGEEQU
subroutine DGEEQU (integer m, integer n, double precision, dimension( lda, *
) a, integer lda, double precision, dimension( * ) r, double precision,
dimension( * ) c, double precision rowcnd, double precision colcnd,
double precision amax, integer info)
DGEEQU π«Ά
π§ Purpose
okay so DGEEQU 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. literally the goal π
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.
Caveat bestie: using these scaling factors is not guaranteed to reduce the condition number of A, but it works well in practice. so like, itβs giving βtrust me it usually slaysβ π
π Parameters
MβINTEGER; the number of rows of the matrixA.M >= 0.NβINTEGER; the number of columns of the matrixA.N >= 0.AβDOUBLE PRECISION array, dimension (LDA,N); theM-by-Nmatrix whose equilibration factors are to be computed.LDAβINTEGER; the leading dimension of the arrayA.LDA >= max(1,M).RβDOUBLE PRECISION array, dimension (M); ifINFO = 0orINFO > M,Rcontains the row scale factors forA.CβDOUBLE PRECISION array, dimension (N); ifINFO = 0,Ccontains the column scale factors forA.ROWCNDβ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β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βDOUBLE PRECISION; absolute value of largest matrix element. IfAMAXis very close to overflow or very close to underflow, the matrix should be scaled.INFOβINTEGER; hereβs the tea:= 0: successful exit< 0: ifINFO = -i, thei-th argument had an illegal value> 0: ifINFO = i, andiis<= M: thei-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 137 of file dgeequ.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
Okay bestie, thatβs the whole page! Source/version tea: LAPACK Version 3.12.0, page path /home/abui...RC/dgeequ.f(3) β now go equilibrate responsibly πβ¨
π¦ 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