laqhp(3)

πŸ’… laqhp β€” row/col scale matrix ✨

okay so bestie, welcome to laqhp(3) from the Library Functions Manual πŸ’– this page is basically the group chat for six subroutines that all do the same iconic thing β€” they equilibrate your matrix using the scaling factors in the vector S, i.e. they swap A out for diag(S) * A * diag(S) (row/col scale, hence the NAME, periodt πŸ‘‘). And the whole time the matrix stays in packed storage, because we're efficient like that πŸŽ€


🌸 SYNOPSIS 🌸

Functions

  • claqhp β€” CLAQHP scales a Hermitian matrix stored in packed form.
  • claqsp β€” CLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ.
  • dlaqsp β€” DLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ.
  • slaqsp β€” SLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ.
  • zlaqhp β€” ZLAQHP scales a Hermitian matrix stored in packed form.
  • zlaqsp β€” ZLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ.

πŸ¦‹ Detailed Description πŸ¦‹


πŸ’œ Function Documentation πŸ’œ

claqhp β€” the complex Hermitian packed one πŸ’«

subroutine claqhp (character uplo, integer n, complex, dimension( * ) ap,
    real, dimension( * ) s, real scond, real amax, character equed)

CLAQHP scales a Hermitian matrix stored in packed form.

🌟 Purpose:

CLAQHP equilibrates a Hermitian matrix A using the scaling factors in the vector S. that's the whole job bestie, and she does it flawlessly ✨

πŸŽ€ Parameters

  • UPLO β€” CHARACTER*1. says which triangle of the Hermitian matrix A we're storing:
    • 'U': Upper triangular
    • 'L': Lower triangular
  • N β€” INTEGER. the order of the matrix A. lowkey important: N >= 0.
  • AP β€” COMPLEX array, dimension (N*(N+1)/2). On entry, this holds the upper or lower triangle of the Hermitian matrix A, packed columnwise in a linear array. the j-th column of A lives in AP like this:
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.

On exit, it's the equilibrated matrix: diag(S) * A * diag(S), in the same storage format as A. same fit, new energy 🫢

  • S β€” REAL array, dimension (N). the scale factors for A.
  • SCOND β€” REAL. ratio of the smallest S(i) to the largest S(i).
  • AMAX β€” REAL. absolute value of largest matrix entry.
  • EQUED β€” CHARACTER*1. tells you whether or not equilibration was done:
    • 'N': No equilibration.
    • 'Y': Equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).

πŸ” Internal Parameters:

  • THRESH is a threshold value used to decide if scaling should be done based on the ratio of the scaling factors. If SCOND < THRESH, scaling is done.
  • LARGE and SMALL are threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If AMAX > LARGE or AMAX < SMALL, scaling is done.

🫢 Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 125 of file claqhp.f.


claqsp β€” complex, symmetric/Hermitian, packed πŸ’…

subroutine claqsp (character uplo, integer n, complex, dimension( * ) ap,
    real, dimension( * ) s, real scond, real amax, character equed)

CLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ.

🌟 Purpose:

CLAQSP equilibrates a symmetric matrix A using the scaling factors in the vector S. no notes, she ate πŸ”₯

πŸŽ€ Parameters

  • UPLO β€” CHARACTER*1. which triangle of the symmetric matrix A is stored, choose your fighter:
    • 'U': Upper triangular
    • 'L': Lower triangular
  • N β€” INTEGER. the order of the matrix A. N >= 0, always.
  • AP β€” COMPLEX array, dimension (N*(N+1)/2). On entry: the upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. here's the mapping for the j-th column of A:
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.

On exit: the equilibrated matrix diag(S) * A * diag(S), sitting in the same storage format as A πŸ’–

  • S β€” REAL array, dimension (N). The scale factors for A.
  • SCOND β€” REAL. Ratio of the smallest S(i) to the largest S(i).
  • AMAX β€” REAL. Absolute value of largest matrix entry.
  • EQUED β€” CHARACTER*1. Specifies whether or not equilibration was done:
    • 'N': No equilibration.
    • 'Y': Equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).

πŸ” Internal Parameters:

  • THRESH is a threshold value used to decide if scaling should be done based on the ratio of the scaling factors. If SCOND < THRESH, scaling is done.
  • LARGE and SMALL are threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If AMAX > LARGE or AMAX < SMALL, scaling is done.

🫢 Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 125 of file claqsp.f.


dlaqsp β€” double precision edition 🧊

subroutine dlaqsp (character uplo, integer n, double precision, dimension( *
    ) ap, double precision, dimension( * ) s, double precision scond, double
    precision amax, character equed)

DLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ.

🌟 Purpose:

DLAQSP equilibrates a symmetric matrix A using the scaling factors in the vector S. double the precision, double the slay πŸ’€βœ¨

πŸŽ€ Parameters

  • UPLO β€” CHARACTER*1. Specifies whether the upper or lower triangular part of the symmetric matrix A is stored:
    • 'U': Upper triangular
    • 'L': Lower triangular
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • AP β€” DOUBLE PRECISION array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. the j-th column of A is stored in AP as 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.

On exit, the equilibrated matrix: diag(S) * A * diag(S), in the same storage format as A 🌈

  • S β€” DOUBLE PRECISION array, dimension (N). The scale factors for A.
  • SCOND β€” DOUBLE PRECISION. Ratio of the smallest S(i) to the largest S(i).
  • AMAX β€” DOUBLE PRECISION. Absolute value of largest matrix entry.
  • EQUED β€” CHARACTER*1. Specifies whether or not equilibration was done:
    • 'N': No equilibration.
    • 'Y': Equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).

πŸ” Internal Parameters:

  • THRESH is a threshold value used to decide if scaling should be done based on the ratio of the scaling factors. If SCOND < THRESH, scaling is done.
  • LARGE and SMALL are threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If AMAX > LARGE or AMAX < SMALL, scaling is done.

🫢 Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Definition at line 124 of file dlaqsp.f.


slaqsp β€” single precision, single-minded focus πŸ“

subroutine slaqsp (character uplo, integer n, real, dimension( * ) ap, real,
    dimension( * ) s, real scond, real amax, character equed)

SLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ.

🌟 Purpose:

SLAQSP equilibrates a symmetric matrix A using the scaling factors in the vector S. main character energy fr fr πŸ‘‘

πŸŽ€ Parameters

  • UPLO β€” CHARACTER*1. Specifies whether the upper or lower triangular part of the symmetric matrix A is stored:
    • 'U': Upper triangular
    • 'L': Lower triangular
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • AP β€” REAL array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. the j-th column of A is stored in AP as 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.

On exit, the equilibrated matrix: diag(S) * A * diag(S), in the same storage format as A ⭐

  • S β€” REAL array, dimension (N). The scale factors for A.
  • SCOND β€” REAL. Ratio of the smallest S(i) to the largest S(i).
  • AMAX β€” REAL. Absolute value of largest matrix entry.
  • EQUED β€” 🫢 hold that thought, bestie β€” more of this page is coming in part 2 πŸ’–
  • EQUED is CHARACTER*1 β€” it's the receipts, bestie πŸ’… it tells you whether equilibration was actually done or not.
    • = 'N': no equilibration, we left it alone.
    • = 'Y': equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).

🧠 Internal Parameters

  • THRESH is a threshold value used to decide if scaling should be done based on the ratio of the scaling factors. If SCOND < THRESH, scaling is done.
  • LARGE and SMALL are threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If AMAX > LARGE or AMAX < SMALL, scaling is done.

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 124 of file slaqsp.f.


🌸 zlaqhp 🌸

subroutine zlaqhp (character uplo, integer n, complex*16, dimension( * ) ap,
    double precision, dimension( * ) s, double precision scond, double
    precision amax, character equed)

ZLAQHP scales a Hermitian matrix stored in packed form. That's the whole elevator pitch, no cap πŸ›—βœ¨

🎯 Purpose

ZLAQHP equilibrates a Hermitian matrix A using the scaling factors in the vector S.

🧩 Parameters

  • UPLO is CHARACTER*1 β€” bestie, this is the "which half are we storing" switch for the Hermitian matrix A.
    • = 'U': upper triangular
    • = 'L': lower triangular
  • N is INTEGER β€” the order of the matrix A. Constraint check: N >= 0 🫢
  • AP is COMPLEX*16 array, dimension (N*(N+1)/2) β€” the packed triangle, living its best linear-array life. On entry, the upper or lower triangle of the Hermitian matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as 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.

On exit, the equilibrated matrix: diag(S) * A * diag(S), in the same storage format as A. It literally reinvented itself, icon behaviour πŸ’…

  • S is DOUBLE PRECISION array, dimension (N) β€” the scale factors for A. The main characters tbh.
  • SCOND is DOUBLE PRECISION β€” ratio of the smallest S(i) to the largest S(i). The little-to-big vibe check πŸ“
  • AMAX is DOUBLE PRECISION β€” absolute value of largest matrix entry. The biggest fish in the matrix pond 🐟
  • EQUED is CHARACTER*1 β€” the receipts again, telling you if equilibration happened.
    • = 'N': no equilibration.
    • = 'Y': equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).

🧠 Internal Parameters

  • THRESH is a threshold value used to decide if scaling should be done based on the ratio of the scaling factors. If SCOND < THRESH, scaling is done.
  • LARGE and SMALL are threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If AMAX > LARGE or AMAX < SMALL, scaling is done.

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 125 of file zlaqhp.f.


πŸ’œ zlaqsp πŸ’œ

subroutine zlaqsp (character uplo, integer n, complex*16, dimension( * ) ap,
    double precision, dimension( * ) s, double precision scond, double
    precision amax, character equed)

ZLAQSP scales a symmetric/Hermitian matrix in packed storage, using scaling factors computed by sppequ. Family reunion of the scaling routines fr fr πŸ«‚βœ¨

🎯 Purpose

ZLAQSP equilibrates a symmetric matrix A using the scaling factors in the vector S.

🧩 Parameters

  • UPLO is CHARACTER*1 β€” strikes again. Tells you whether the upper or lower triangular part of the symmetric matrix A is stored.
    • = 'U': upper triangular
    • = 'L': lower triangular
  • N is INTEGER β€” the order of the matrix A. N >= 0, always check bestie 🫢
  • AP is COMPLEX*16 array, dimension (N*(N+1)/2) β€” the packed triangle, same deal, symmetric edition. On entry, the upper or lower triangle of the symmetric matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as 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.

On exit, the equilibrated matrix: diag(S) * A * diag(S), in the same storage format as A. Glow-up complete ✨

  • S is DOUBLE PRECISION array, dimension (N) β€” the scale factors for A.
  • SCOND is DOUBLE PRECISION β€” ratio of the smallest S(i) to the largest S(i).
  • AMAX is DOUBLE PRECISION β€” absolute value of largest matrix entry.
  • EQUED is CHARACTER*1 β€” did we equilibrate or not, that is the question 🎭
    • = 'N': no equilibration.
    • = 'Y': equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S).

🧠 Internal Parameters

  • THRESH is a threshold value used to decide if scaling should be done based on the ratio of the scaling factors. If SCOND < THRESH, scaling is done.
  • LARGE and SMALL are threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If AMAX > LARGE or AMAX < SMALL, scaling is done.

πŸ‘‘ Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 125 of file zlaqsp.f.


πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for LAPACK from the source code.


okay that's the whole page bestie, you ate that πŸŽ€ This lil beauty is from LAPACK, Version 3.12.0, page laqhp(3) β€” go forth and equilibrate responsibly, mwah πŸ’–βœ¨πŸ«Ά
πŸ“¦ where this page comes from