pbequ(3)
๐
pbequ(3) โ Library Functions Manual ๐
Okay bestie, welcome to pbequ, the library function page that is literally all about equilibration. Itโs giving โmake your band matrix less unhingedโ energy, and weโre gonna keep every single detail intact. ๐ฆโจ
๐ธ NAME ๐ธ
pbequ โ pbequ: equilibration
โจ SYNOPSIS โจ
๐ซถ Functions ๐ซถ
cpbequโ
subroutine cpbequ (uplo, n, kd, ab, ldab, s, scond, amax, info)
CPBEQU
dpbequโ
subroutine dpbequ (uplo, n, kd, ab, ldab, s, scond, amax, info)
DPBEQU
spbequโ
subroutine spbequ (uplo, n, kd, ab, ldab, s, scond, amax, info)
SPBEQU
zpbequโ
subroutine zpbequ (uplo, n, kd, ab, ldab, s, scond, amax, info)
ZPBEQU
๐ Detailed Description ๐
(The original page doesnโt add extra prose here โ it rolls straight into the function docs, bestie. Periodt.) ๐
๐ Function Documentation ๐
๐ subroutine cpbequ โ CPBEQU ๐
subroutine cpbequ (character uplo, integer n, integer kd, complex,
dimension( ldab, * ) ab, integer ldab, real, dimension( * ) s, real
scond, real amax, integer info)
CPBEQU
๐ฏ Purpose ๐ฏ
CPBEQU computes row and column scalings intended to equilibrate a Hermitian positive definite band 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. Slay. โจ
๐งฎ Parameters ๐งฎ
UPLOโUPLO is CHARACTER*1= 'U': Upper triangular of A is stored;= 'L': Lower triangular of A is stored.
NโN is INTEGER- The order of the matrix A.
N >= 0.
- The order of the matrix A.
KDโKD is INTEGER- The number of superdiagonals of the matrix A if
UPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0.
- The number of superdiagonals of the matrix A if
ABโAB is COMPLEX array, dimension (LDAB,N)- The upper or lower triangle of the Hermitian band matrix A, stored in the first
KD+1rows of the array. The j-th column of A is stored in the j-th column of the arrayABas follows:
- The upper or lower triangle of the Hermitian band matrix A, stored in the first
if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).
LDABโLDAB is INTEGER- The leading dimension of the array A.
LDAB >= KD+1.
- The leading dimension of the array A.
SโS is REAL array, dimension (N)- If
INFO = 0,Scontains the scale factors for A.
- If
SCONDโSCOND is REAL- The pageโs wording: if
INFO = 0,Scontains 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.
- The pageโs wording: if
AMAXโAMAX is REAL- Absolute value of largest matrix element. If
AMAXis very close to overflow or very close to underflow, the matrix should be scaled.
- Absolute value of largest matrix element. If
INFOโINFO is INTEGER= 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 129 of file cpbequ.f.
๐ฆ subroutine dpbequ โ DPBEQU ๐ฆ
subroutine dpbequ (character uplo, integer n, integer kd, double precision,
dimension( ldab, * ) ab, integer ldab, double precision, dimension( * )
s, double precision scond, double precision amax, integer info)
DPBEQU
๐ฏ Purpose ๐ฏ
DPBEQU computes row and column scalings intended to equilibrate a symmetric positive definite band 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. Iconic behavior, honestly. ๐
๐งฎ Parameters ๐งฎ
UPLOโUPLO is CHARACTER*1= 'U': Upper triangular of A is stored;= 'L': Lower triangular of A is stored.
NโN is INTEGER- The order of the matrix A.
N >= 0.
- The order of the matrix A.
KDโKD is INTEGER- The number of superdiagonals of the matrix A if
UPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0.
- The number of superdiagonals of the matrix A if
ABโAB is DOUBLE PRECISION array, dimension (LDAB,N)- The upper or lower triangle of the symmetric band matrix A, stored in the first
KD+1rows of the array. The j-th column of A is stored in the j-th column of the arrayABas follows:
- The upper or lower triangle of the symmetric band matrix A, stored in the first
if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).
LDABโLDAB is INTEGER- The leading dimension of the array A.
LDAB >= KD+1.
- The leading dimension of the array A.
SโS is DOUBLE PRECISION array, dimension (N)- If
INFO = 0,Scontains the scale factors for A.
- If
SCONDโSCOND is DOUBLE PRECISION- The pageโs wording: if
INFO = 0,Scontains 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.
- The pageโs wording: if
AMAXโAMAX is DOUBLE PRECISION- Absolute value of largest matrix element. If
AMAXis very close to overflow or very close to underflow, the matrix should be scaled.
- Absolute value of largest matrix element. If
INFOโINFO is INTEGER= 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 128 of file dpbequ.f.
๐ธ subroutine spbequ โ SPBEQU ๐ธ
subroutine spbequ (character uplo, integer n, integer kd, real, dimension(
ldab, * ) ab, integer ldab, real, dimension( * ) s, real scond, real
amax, integer info)
SPBEQU
๐ฏ Purpose ๐ฏ
SPBEQU computes row and column scalings intended to equilibrate a symmetric positive definite band 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. No cap, this is the whole vibe. ๐ซถ
๐งฎ Parameters ๐งฎ
UPLOโUPLO is CHARACTER*1= 'U': Upper triangular of A is stored;= 'L': Lower triangular of A is stored.
NโN is INTEGER- The order of the matrix A.
N >= 0.
- The order of the matrix A.
KDโKD is INTEGER- The number of superdiagonals of the matrix A if
UPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0.
- The number of superdiagonals of the matrix A if
ABโAB is REAL array, dimension (LDAB,N)- The upper or lower triangle of the symmetric band matrix A, stored in the first
KD+1rows of the array. The j-th column of A is stored in the j-th column of the arrayABas follows:
- The upper or lower triangle of the symmetric band matrix A, stored in the first
if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j) = A(i,j) for j<=i<=min(n,j+kd).
LDABโLDAB is INTEGER- The leading dimension of the array A.
LDAB >= KD+1.
- The leading dimension of the array A.
SโS is REAL array, dimension (N)- If
INFO = 0,Scontains the scale factors for A.
- If
SCONDโSCOND is REAL- The pageโs wording: if
INFO = 0,Scontains 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.
- The pageโs wording: if
AMAXโAMAX is REAL- Absolute value of largest matrix element. If
AMAXis very close to overflow or very close to underflow, the matrix should be scaled.
- Absolute value of largest matrix element. If
INFOโINFO is INTEGER= 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 128 of file spbequ.f.
๐ง subroutine zpbequ โ ZPBEQU ๐ง
subroutine zpbequ (character uplo, integer n, integer kd, complex*16,
dimension( ldab, * ) ab, integer ldab, double precision, dimension( * )
s, double precision scond, double precision amax, integer info)
ZPBEQU
๐ฏ Purpose ๐ฏ
ZPBEQU computes row and column scalings intended to equilibrate a Hermitian positive definite band 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. Main character energy fr fr. ๐ฅ
๐งฎ Parameters ๐งฎ
UPLOโUPLO is CHARACTER*1= 'U': Upper triangular of A is stored;= 'L': Lower triangular of A is stored.
NโN is INTEGER- The order of the matrix A.
N >= 0.
- The order of the matrix A.
KDโKD is INTEGER- The number of superdiagonals of the matrix A if
UPLO = 'U', or the number of subdiagonals ifUPLO = 'L'.KD >= 0.
- The number of superdiagonals of the matrix A if
ABโ (the rest of this parameterโs details continue in part 2, bestie) ๐
โฆokay so picking up right where we left off, bestie, here come the arrays and the outputs ๐
ABโ aCOMPLEX*16array, dimension(LDAB,N). It's holding the upper or lower triangle of the Hermitian band matrixA, and it lives in the firstKD+1rows of the array. The j-th column ofAsits in the j-th column ofABlike this: ifUPLO = 'U', thenAB(kd+1+i-j,j) = A(i,j)formax(1,j-kd)<=i<=j; ifUPLO = 'L', thenAB(1+i-j,j) = A(i,j)forj<=i<=min(n,j+kd).LDABโ anINTEGER. It's the leading dimension of the arrayA, and the vibe check isLDAB >= KD+1. No exceptions, periodt.Sโ aDOUBLE PRECISIONarray, dimension(N). IfINFO = 0,Scontains the scale factors forA. That's it, that's the whole job โจSCONDโ aDOUBLE PRECISION. IfINFO = 0,Scontains the ratio of the smallestS(i)to the largestS(i). And the practical tea: ifSCOND >= 0.1andAMAXis neither too large nor too small, it is not worth scaling byS. So likeโฆ don't bother, bestie ๐AMAXโ aDOUBLE PRECISION. Absolute value of the largest matrix element. IfAMAXis very close to overflow or very close to underflow, the matrix should be scaled. That's your red flag moment ๐จINFOโ anINTEGER, and it's the one telling you how it all went:= 0: successful exit, slay ๐< 0: ifINFO = -i, the i-th argument had an illegal value. Not iconic, ngl ๐ญ> 0: ifINFO = 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 129 of file zpbequ.f.
๐ง Author (the meta one)
Generated automatically by Doxygen for LAPACK from the source code. Yes, the docs generated their own author section โ main character energy, honestly ๐ซถ
Okay so that's the whole page, bestie! This absolute icon is from LAPACK, Version 3.12.0, and the footer tags it as pbequ(3) โ no date line in sight on this one, just the version and the page name doing their little bows. Go forth and equilibrate responsibly ๐๐
๐ฆ 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