SRC/zgbequ.f(3)
β¨ SRC/zgbequ.f β¨
Welcome to the SRC/zgbequ.f(3) page from the LAPACK Library Functions Manual β todayβs main character is zgbequ, and she is lowkey here to balance your band matrix. π«Άπ
πΈ NAME πΈ
SRC/zgbequ.f
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine zgbequ (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax,
info)
ZGBEQU
π Function/Subroutine Documentation π
This is the documentation zone for subroutine zgbequ β aka ZGBEQU, the balancing bestie. πβ¨
subroutine zgbequ (integer m, integer n, integer kl, integer ku, complex*16,
dimension( ldab, * ) ab, integer ldab, double precision, dimension( * )
r, double precision, dimension( * ) c, double precision rowcnd, double
precision colcnd, double precision amax, integer info)
ZGBEQU
π Purpose π
Okay so hereβs the tea, bestie: ZGBEQU computes row and column scalings intended to equilibrate an M-by-N band 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. No cap. π
π 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.KLβKL is INTEGER. The number of subdiagonals within the band ofA.KL >= 0.KUβKU is INTEGER. The number of superdiagonals within the band ofA.KU >= 0.ABβAB is COMPLEX*16 array, dimension (LDAB,N). The band matrixA, stored in rows1toKL+KU+1. Thej-th column ofAis stored in thej-th column of the arrayABas follows:AB(ku+1+i-j,j) = A(i,j)formax(1,j-ku)<=i<=min(m,j+kl).LDABβLDAB is INTEGER. The leading dimension of the arrayAB.LDAB >= KL+KU+1.RβR is DOUBLE PRECISION array, dimension (M). IfINFO = 0, orINFO > 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, 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 152 of file zgbequ.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
This cutie was brought to you by LAPACK, Version 3.12.0, for SRC/zgbequ.f(3) β see you in the source, bestie πβ¨π¦
π¦ 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