ppequ(3)
π NAME π
okay bestie, welcome to the ppequ(3) library functions manual page β the one and only home of ppequ: equilibration. This is where the packed-storage equilibration girlies live: cppequ, dppequ, sppequ, and zppequ. no gatekeeping, just scaling vibes β¨
β¨ SYNOPSIS β¨
Functions
subroutine cppequ (uplo, n, ap, s, scond, amax, info)βCPPEQUsubroutine dppequ (uplo, n, ap, s, scond, amax, info)βDPPEQUsubroutine sppequ (uplo, n, ap, s, scond, amax, info)βSPPEQUsubroutine zppequ (uplo, n, ap, s, scond, amax, info)βZPPEQU
πΈ DETAILED DESCRIPTION πΈ
so the detailed description is short and sweet: this page documents the four equilibration subroutines above, and the full function documentation is right below. we're not skipping a single parameter, bestie β periodt. π
π FUNCTION DOCUMENTATION π
π cppequ β CPPEQU
subroutine cppequ (character uplo, integer n, complex, dimension( * ) ap, real, dimension( * ) s, real scond, real amax, integer info)
π Purpose π
okay so CPPEQU computes row and column scalings intended to equilibrate a Hermitian positive definite matrix A in packed storage 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. like, that's the whole glow-up plan, and it ate. π
β¨ Parameters β¨
UPLOβUPLO is CHARACTER*1= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
NβN is INTEGER. The order of the matrixA.N >= 0. πAPβAP is COMPLEX array, dimension (N*(N+1)/2). The upper or lower triangle of the Hermitian matrixA, packed columnwise in a linear array. Thej-th column ofAis stored in the arrayAPas follows:
if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
SβS is REAL array, dimension (N). IfINFO = 0,Scontains the scale factors forA. π«ΆSCONDβSCOND is REAL. IfINFO = 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. πΈAMAXβAMAX is REAL. 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: 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 116 of file cppequ.f.
π dppequ β DPPEQU
subroutine dppequ (character uplo, integer n, double precision, dimension( * ) ap, double precision, dimension( * ) s, double precision scond, double precision amax, integer info)
π Purpose π
DPPEQU computes row and column scalings intended to equilibrate a symmetric positive definite matrix A in packed storage 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. highkey iconic behavior π
β¨ Parameters β¨
UPLOβUPLO is CHARACTER*1= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
NβN is INTEGER. The order of the matrixA.N >= 0. π¦APβAP is DOUBLE PRECISION array, dimension (N*(N+1)/2). The upper or lower triangle of the symmetric matrixA, packed columnwise in a linear array. Thej-th column ofAis stored in the arrayAPas follows:
if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
SβS is DOUBLE PRECISION array, dimension (N). IfINFO = 0,Scontains the scale factors forA. πSCONDβSCOND is DOUBLE PRECISION. IfINFO = 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. π«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: 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 115 of file dppequ.f.
π sppequ β SPPEQU
subroutine sppequ (character uplo, integer n, real, dimension( * ) ap, real, dimension( * ) s, real scond, real amax, integer info)
π Purpose π
SPPEQU computes row and column scalings intended to equilibrate a symmetric positive definite matrix A in packed storage 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. fr fr, the diagonal stays booked and busy β¨
β¨ Parameters β¨
UPLOβUPLO is CHARACTER*1= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
NβN is INTEGER. The order of the matrixA.N >= 0. πAPβAP is REAL array, dimension (N*(N+1)/2). The upper or lower triangle of the symmetric matrixA, packed columnwise in a linear array. Thej-th column ofAis stored in the arrayAPas follows:
if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
SβS is REAL array, dimension (N). IfINFO = 0,Scontains the scale factors forA. πSCONDβSCOND is REAL. IfINFO = 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. π§AMAXβAMAX is REAL. 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: 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 115 of file sppequ.f.
π zppequ β ZPPEQU
subroutine zppequ (character uplo, integer n, complex*16, dimension( * ) ap, double precision, dimension( * ) s, double precision scond, double precision amax, integer info)
π Purpose π
ZPPEQU computes row and column scalings intended to equilibrate a Hermitian positive definite matrix A in packed storage 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. and that's on periodt, bestie π
β¨ Parameters β¨
UPLOβUPLO is CHARACTER*1= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
NβN is INTEGER. The order of the matrixA.N >= 0. πAPβAP is COMPLEX*16 array, dimension (N*(N+1)/2). The upper or lower triangle of the Hermitian matrixA, packed columnwise in a linear array. Thej-th column ofAis stored in the arrayAPas follows:
if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
SβS is DOUBLE PRECISION array, dimension (N). IfINFO = 0,Scontains the scale factors forA. πSCONDβSCOND is DOUBLE PRECISION. IfINFO = 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. π«Ά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: 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 116 of file zppequ.f.
πΈ Author πΈ
Okay so plot twist: nobody actually wrote this page by hand, bestie. It was generated automatically by Doxygen for LAPACK, straight up pulled from the source code itself. π₯ So when you're reading this like "wow who's the genius behind these docs," it's the robot. The robot ate. π
No cap, it's giving "the code documented itself" energy and honestly? Iconic. β¨
And that's a wrap on ppequ(3), bestie! π You made it all the way through β so proud of you fr fr. π«Ά This little masterpiece comes to you courtesy of LAPACK, Version 3.12.0, and you were reading the ppequ(3) page the whole time. Now go forth and be the main character of your own matrix math. ππ¦β
π¦ 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