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) โ€” CLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.
  • subroutine dlaqgb (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, equed) โ€” DLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.
  • subroutine slaqgb (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, equed) โ€” SLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.
  • subroutine zlaqgb (m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, equed) โ€” ZLAQGB scales a general band matrix, using row and column scaling factors computed by sgbequ.
๐Ÿ’€ 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 matrix A. Constraint: M >= 0. Respect the constraint, bestie.
  • N โ€” N is INTEGER. The number of columns of the matrix A. Constraint: N >= 0.
  • KL โ€” KL is INTEGER. The number of subdiagonals within the band of A. Constraint: KL >= 0.
  • KU โ€” KU is INTEGER. The number of superdiagonals within the band of A. Constraint: KU >= 0.
  • AB โ€” AB is COMPLEX array, dimension (LDAB,N). On entry, the matrix A in band storage, in rows 1 to KL+KU+1. The j-th column of A is stored in the j-th column of the array AB as 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 array AB. The page says LDA >= KL+KU+1 โ€” yep, it really does say LDA there, 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 for A.
  • C โ€” C is REAL array, dimension (N). The column scale factors for A.
  • ROWCND โ€” ROWCND is REAL. Ratio of the smallest R(i) to the largest R(i).
  • COLCND โ€” COLCND is REAL. Ratio of the smallest C(i) to the largest C(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., A has been premultiplied by diag(R).
    • = 'C': Column equilibration, i.e., A has been postmultiplied by diag(C).
    • = 'B': Both row and column equilibration, i.e., A has been replaced by diag(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 matrix A. Constraint: M >= 0.
  • N โ€” N is INTEGER. The number of columns of the matrix A. Constraint: N >= 0.
  • KL โ€” KL is INTEGER. The number of subdiagonals within the band of A. Constraint: KL >= 0.
  • KU โ€” KU is INTEGER. The number of superdiagonals within the band of A. Constraint: KU >= 0.
  • AB โ€” AB is DOUBLE PRECISION array, dimension (LDAB,N). On entry, the matrix A in band storage, in rows 1 to KL+KU+1. The j-th column of A is stored in the j-th column of the array AB as 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 array AB. Again the page says LDA >= KL+KU+1 โ€” same quirk as before, copying it faithfully ๐Ÿซถ
  • R โ€” R is DOUBLE PRECISION array, dimension (M). The row scale factors for A.
  • C โ€” C is DOUBLE PRECISION array, dimension (N). The column scale factors for A.
  • ROWCND โ€” ROWCND is DOUBLE PRECISION. Ratio of the smallest R(i) to the largest R(i).
  • COLCND โ€” COLCND is DOUBLE PRECISION. Ratio of the smallest C(i) to the largest C(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., A has been premultiplied by diag(R).
    • = 'C': Column equilibration, i.e., A has been postmultiplied by diag(C).
    • = 'B': Both row and column equilibration, i.e., A has been replaced by diag(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 matrix A. Constraint: M >= 0.
  • N โ€” N is INTEGER. The number of columns of the matrix A. Constraint: N >= 0.
  • KL โ€” KL is INTEGER. The number of subdiagonals within the band of A. Constraint: KL >= 0.
  • KU โ€” KU is INTEGER. The number of superdiagonals within the band of A. Constraint: KU >= 0.
  • AB โ€” AB is REAL array, dimension (LDAB,N). On entry, the matrix A in band storage, in rows 1 to KL+KU+1. The j-th column of A is stored in the j-th column of the array AB as 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 array AB. 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 for A.
  • C โ€” C is REAL array, dimension (N). The column scale factors for A.
  • ROWCND โ€” ROWCND is REAL. Ratio of the smallest R(i) to the largest R(i).
  • COLCND โ€” COLCND is REAL. Ratio of the smallest C(i) to the largest C(i).
  • AMAX โ€” AMAX is REAL. Absolute value of largest matrix entry.
  • EQUED
  • EQUED โ€” this bestie is a CHARACTER*1 and it specifies the form of equilibration that was done. The vibe-check options are:
    • 'N': No equilibration
    • 'R': Row equilibration, i.e., A has been premultiplied by diag(R).
    • 'C': Column equilibration, i.e., A has been postmultiplied by diag(C).
    • 'B': Both row and column equilibration, i.e., A has been replaced by diag(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. If ROWCND < THRESH, row scaling is done, and if COLCND < THRESH, column scaling is done.
  • LARGE and SMALL โ€” 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.

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 โ€” M is INTEGER; the number of rows of the matrix A. M >= 0.
  • N โ€” N is INTEGER; the number of columns of the matrix A. N >= 0.
  • KL โ€” KL is INTEGER; the number of subdiagonals within the band of A. KL >= 0.
  • KU โ€” KU is INTEGER; the number of superdiagonals within the band of A. KU >= 0.
  • AB โ€” AB is COMPLEX*16 array, dimension (LDAB,N). On entry, the matrix A in band storage, in rows 1 to KL+KU+1. The j-th column of A is stored in the j-th column of the array AB as 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 array AB. LDA >= KL+KU+1. (yes, the page literally says LDA, not LDAB โ€” keep it exact, bestie)
  • R โ€” R is DOUBLE PRECISION array, dimension (M); the row scale factors for A.
  • C โ€” C is DOUBLE PRECISION array, dimension (N); the column scale factors for A.
  • ROWCND โ€” ROWCND is DOUBLE PRECISION; ratio of the smallest R(i) to the largest R(i).
  • COLCND โ€” COLCND is DOUBLE PRECISION; ratio of the smallest C(i) to the largest C(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., A has been premultiplied by diag(R).
    • 'C': Column equilibration, i.e., A has been postmultiplied by diag(C).
    • 'B': Both row and column equilibration, i.e., A has been replaced by diag(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. If ROWCND < THRESH, row scaling is done, and if COLCND < THRESH, column scaling is done.
  • LARGE and SMALL โ€” 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.

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