laqgb(3)
๐ laqgb โ row/col scale matrix (yes that's the whole name, iconic)
okay so bestie, welcome to laqgb(3) from the Library Functions Manual. This is a family of four Fortran subroutines โ claqgb, dlaqgb, slaqgb, zlaqgb โ and they all do the same lil job in different precisions: they equilibrate a general band matrix using row and column scaling factors. Spoiler: the factors come from sgbequ. We'll get there. Sit down, hydrate, let's go ๐
โจ NAME โจ
laqgb โ laqgb: row/col scale matrix. That's it. That's the name. Ten out of ten, no notes ๐
๐ฆ SYNOPSIS โจ
๐ธ Functions
subroutine claqgb (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, equed)โCLAQGBscales a general band matrix, using row and column scaling factors computed bysgbequ.subroutine dlaqgb (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, equed)โDLAQGBscales a general band matrix, using row and column scaling factors computed bysgbequ.subroutine slaqgb (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, equed)โSLAQGBscales a general band matrix, using row and column scaling factors computed bysgbequ.subroutine zlaqgb (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, equed)โZLAQGBscales a general band matrix, using row and column scaling factors computed bysgbequ.
๐ notice how all four have the exact same argument list? That's the whole vibe of this page. Same energy, different precision. iykyk.
๐ฅ Detailed Description โจ
Bestie there is literally nothing extra hiding in here โ the detailed description section is where the actual Function Documentation lives. So let's meet the cast ๐
๐ Function Documentation โจ
๐ subroutine claqgb ๐ธ
subroutine claqgb (integer m, integer n, integer kl, integer ku,
complex, dimension( ldab, * ) ab, integer ldab,
real, dimension( * ) r, real, dimension( * ) c,
real rowcnd, real colcnd, real amax,
character equed)
CLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.
โญ Purpose:
!>
!> CLAQGB equilibrates a general M by N band matrix A with KL
!> subdiagonals and KU superdiagonals using the row and scaling factors
!> in the vectors R and C.
!>
So it takes your band matrix A and your scaling vectors R and C, and it equilibrates the whole situation. Main character behaviour honestly ๐ซถ
๐ Parameters
MโM is INTEGER. The number of rows of the matrixA. Constraint:M >= 0. Respect the constraint, bestie.NโN is INTEGER. The number of columns of the matrixA. Constraint:N >= 0.KLโKL is INTEGER. The number of subdiagonals within the band ofA. Constraint:KL >= 0.KUโKU is INTEGER. The number of superdiagonals within the band ofA. Constraint:KU >= 0.ABโAB is COMPLEX array, dimension (LDAB,N). On entry, the matrixAin band storage, 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) for max(1,j-ku)<=i<=min(m,j+kl)
On exit, the equilibrated matrix, in the same storage format as A. See EQUED for the form of the equilibrated matrix. โจ
LDABโLDAB is INTEGER. The leading dimension of the arrayAB. The page saysLDA >= KL+KU+1โ yep, it really does sayLDAthere, and I'm not about to "fix" it for you, so quoting it exactly, periodt ๐RโR is REAL array, dimension (M). The row scale factors forA.CโC is REAL array, dimension (N). The column scale factors forA.ROWCNDโROWCND is REAL. Ratio of the smallestR(i)to the largestR(i).COLCNDโCOLCND is REAL. Ratio of the smallestC(i)to the largestC(i).AMAXโAMAX is REAL. Absolute value of largest matrix entry.EQUEDโEQUED is CHARACTER*1. Specifies the form of equilibration that was done.= 'N': No equilibration= 'R': Row equilibration, i.e.,Ahas been premultiplied bydiag(R).= 'C': Column equilibration, i.e.,Ahas been postmultiplied bydiag(C).= 'B': Both row and column equilibration, i.e.,Ahas been replaced bydiag(R) * A * diag(C).
๐ฎ Internal Parameters:
!> THRESH is a threshold value used to decide if row or column scaling
!> should be done based on the ratio of the row or column scaling
!> factors. If ROWCND < THRESH, row scaling is done, and if
!> COLCND < THRESH, column scaling is done.
!>
!> LARGE and SMALL are threshold values used to decide if row scaling
!> should be done based on the absolute size of the largest matrix
!> element. If AMAX > LARGE or AMAX < SMALL, row scaling is done.
!>
๐ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 158 of file claqgb.f.
๐ฆ subroutine dlaqgb ๐
subroutine dlaqgb (integer m, integer n, integer kl, integer ku,
double precision, dimension( ldab, * ) ab, integer ldab,
double precision, dimension( * ) r,
double precision, dimension( * ) c,
double precision rowcnd, double precision colcnd,
double precision amax, character equed)
DLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.
โญ Purpose:
!>
!> DLAQGB equilibrates a general M by N band matrix A with KL
!> subdiagonals and KU superdiagonals using the row and scaling factors
!> in the vectors R and C.
!>
Same mission, double precision edition. She upgraded ๐ โจ
๐ Parameters
MโM is INTEGER. The number of rows of the matrixA. Constraint:M >= 0.NโN is INTEGER. The number of columns of the matrixA. Constraint:N >= 0.KLโKL is INTEGER. The number of subdiagonals within the band ofA. Constraint:KL >= 0.KUโKU is INTEGER. The number of superdiagonals within the band ofA. Constraint:KU >= 0.ABโAB is DOUBLE PRECISION array, dimension (LDAB,N). On entry, the matrixAin band storage, 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) for max(1,j-ku)<=i<=min(m,j+kl)
On exit, the equilibrated matrix, in the same storage format as A. See EQUED for the form of the equilibrated matrix.
LDABโLDAB is INTEGER. The leading dimension of the arrayAB. Again the page saysLDA >= KL+KU+1โ same quirk as before, copying it faithfully ๐ซถRโR is DOUBLE PRECISION array, dimension (M). The row scale factors forA.CโC is DOUBLE PRECISION array, dimension (N). The column scale factors forA.ROWCNDโROWCND is DOUBLE PRECISION. Ratio of the smallestR(i)to the largestR(i).COLCNDโCOLCND is DOUBLE PRECISION. Ratio of the smallestC(i)to the largestC(i).AMAXโAMAX is DOUBLE PRECISION. Absolute value of largest matrix entry.EQUEDโEQUED is CHARACTER*1. Specifies the form of equilibration that was done.= 'N': No equilibration= 'R': Row equilibration, i.e.,Ahas been premultiplied bydiag(R).= 'C': Column equilibration, i.e.,Ahas been postmultiplied bydiag(C).= 'B': Both row and column equilibration, i.e.,Ahas been replaced bydiag(R) * A * diag(C).
๐ฎ Internal Parameters:
!> THRESH is a threshold value used to decide if row or column scaling
!> should be done based on the ratio of the row or column scaling
!> factors. If ROWCND < THRESH, row scaling is done, and if
!> COLCND < THRESH, column scaling is done.
!>
!> LARGE and SMALL are threshold values used to decide if row scaling
!> should be done based on the absolute size of the largest matrix
!> element. If AMAX > LARGE or AMAX < SMALL, row scaling is done.
!>
๐ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 157 of file dlaqgb.f.
๐ subroutine slaqgb โญ
subroutine slaqgb (integer m, integer n, integer kl, integer ku,
real, dimension( ldab, * ) ab, integer ldab,
real, dimension( * ) r, real, dimension( * ) c,
real rowcnd, real colcnd, real amax,
character equed)
SLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.
โญ Purpose:
!>
!> SLAQGB equilibrates a general M by N band matrix A with KL
!> subdiagonals and KU superdiagonals using the row and scaling factors
!> in the vectors R and C.
!>
Single precision queen, doing exactly what her sisters do ๐
๐ Parameters
MโM is INTEGER. The number of rows of the matrixA. Constraint:M >= 0.NโN is INTEGER. The number of columns of the matrixA. Constraint:N >= 0.KLโKL is INTEGER. The number of subdiagonals within the band ofA. Constraint:KL >= 0.KUโKU is INTEGER. The number of superdiagonals within the band ofA. Constraint:KU >= 0.ABโAB is REAL array, dimension (LDAB,N). On entry, the matrixAin band storage, 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) for max(1,j-ku)<=i<=min(m,j+kl)
On exit, the equilibrated matrix, in the same storage format as A. See EQUED for the form of the equilibrated matrix.
LDABโLDAB is INTEGER. The leading dimension of the arrayAB.LDA >= KL+KU+1โ yes,LDA, exactly as written on the page, no cap ๐ซถRโR is REAL array, dimension (M). The row scale factors forA.CโC is REAL array, dimension (N). The column scale factors forA.ROWCNDโROWCND is REAL. Ratio of the smallestR(i)to the largestR(i).COLCNDโCOLCND is REAL. Ratio of the smallestC(i)to the largestC(i).AMAXโAMAX is REAL. Absolute value of largest matrix entry.EQUEDEQUEDโ this bestie is aCHARACTER*1and it specifies the form of equilibration that was done. The vibe-check options are:'N': No equilibration'R': Row equilibration, i.e.,Ahas been premultiplied bydiag(R).'C': Column equilibration, i.e.,Ahas been postmultiplied bydiag(C).'B': Both row and column equilibration, i.e.,Ahas been replaced bydiag(R) * A * diag(C).
โจ Internal Parameters
THRESHโ a threshold value used to decide if row or column scaling should be done based on the ratio of the row or column scaling factors. IfROWCND < THRESH, row scaling is done, and ifCOLCND < THRESH, column scaling is done.LARGEandSMALLโ threshold values used to decide if row scaling should be done based on the absolute size of the largest matrix element. IfAMAX > LARGEorAMAX < SMALL, row scaling is done.
๐ธ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
The receipt says: Definition at line 157 of file slaqgb.f.
๐ฆ subroutine zlaqgb
subroutine zlaqgb (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, character equed)
ZLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.
โจ Purpose
ZLAQGB equilibrates a general M by N band matrix A with KL subdiagonals and KU superdiagonals using the row and scaling factors in the vectors R and C.
๐ Parameters
MโMisINTEGER; the number of rows of the matrixA.M >= 0.NโNisINTEGER; the number of columns of the matrixA.N >= 0.KLโKLisINTEGER; the number of subdiagonals within the band ofA.KL >= 0.KUโKUisINTEGER; the number of superdiagonals within the band ofA.KU >= 0.ABโABisCOMPLEX*16array, dimension(LDAB,N). On entry, the matrixAin band storage, 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) for max(1,j-ku)<=i<=min(m,j+kl). On exit, the equilibrated matrix, in the same storage format asA. SeeEQUEDfor the form of the equilibrated matrix.LDABโLDABisINTEGER; the leading dimension of the arrayAB.LDA >= KL+KU+1. (yes, the page literally saysLDA, notLDABโ keep it exact, bestie)RโRisDOUBLE PRECISIONarray, dimension(M); the row scale factors forA.CโCisDOUBLE PRECISIONarray, dimension(N); the column scale factors forA.ROWCNDโROWCNDisDOUBLE PRECISION; ratio of the smallestR(i)to the largestR(i).COLCNDโCOLCNDisDOUBLE PRECISION; ratio of the smallestC(i)to the largestC(i).AMAXโAMAXisDOUBLE PRECISION; absolute value of largest matrix entry.EQUEDโEQUEDisCHARACTER*1; specifies the form of equilibration that was done.'N': No equilibration'R': Row equilibration, i.e.,Ahas been premultiplied bydiag(R).'C': Column equilibration, i.e.,Ahas been postmultiplied bydiag(C).'B': Both row and column equilibration, i.e.,Ahas been replaced bydiag(R) * A * diag(C).
๐ Internal Parameters
THRESHโ a threshold value used to decide if row or column scaling should be done based on the ratio of the row or column scaling factors. IfROWCND < THRESH, row scaling is done, and ifCOLCND < THRESH, column scaling is done.LARGEandSMALLโ threshold values used to decide if row scaling should be done based on the absolute size of the largest matrix element. IfAMAX > LARGEorAMAX < SMALL, row scaling is done.
๐ธ Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
The receipt says: Definition at line 158 of file zlaqgb.f.
๐ Author
Generated automatically by Doxygen for LAPACK from the source code.
source/version: LAPACK Version 3.12.0, page laqgb(3) โ and the footer didnโt print a date, 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