la_herpvgrw(3)

πŸ’… la_herpvgrw

okay so bestie, welcome to la_herpvgrw(3) β€” straight out of the Library Functions Manual β€” and it's giving "niche LAPACK function that's actually carrying the whole numerical-stability friend group." This is a family page: six functions, all doing reciprocal pivot growth, each in its own precision and matrix flavor. Grab a snack πŸ“, we're going through every single one.


✨ NAME ✨

la_herpvgrw β€” la_herpvgrw: reciprocal pivot growth. that's it, that's the name πŸŽ€


🌸 SYNOPSIS 🌸

Functions

Six besties, one mission. Here's the whole lineup so you know who's who:

  • real function cla_herpvgrw (uplo, n, info, a, lda, af, ldaf, ipiv, work) β€” CLA_HERPVGRW
  • real function cla_syrpvgrw (uplo, n, info, a, lda, af, ldaf, ipiv, work) β€” CLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix.
  • double precision function dla_syrpvgrw (uplo, n, info, a, lda, af, ldaf, ipiv, work) β€” DLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix.
  • real function sla_syrpvgrw (uplo, n, info, a, lda, af, ldaf, ipiv, work) β€” SLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix.
  • double precision function zla_herpvgrw (uplo, n, info, a, lda, af, ldaf, ipiv, work) β€” ZLA_HERPVGRW
  • double precision function zla_syrpvgrw (uplo, n, info, a, lda, af, ldaf, ipiv, work) β€” ZLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix.

fr fr, that's the whole cast πŸ’œ


πŸŽ€ Detailed Description πŸŽ€

okay this section is literally empty on the original page β€” no description text, no lore, nothing. It just exists and then we move on. Respect the minimalist queen for that, honestly πŸ‘‘. Everything juicy lives under Function Documentation below.


πŸ”₯ Function Documentation πŸ”₯


πŸ’– real function cla_herpvgrw

real function cla_herpvgrw (character*1 uplo, integer n, integer info,
    complex, dimension( lda, * ) a, integer lda, complex, dimension( ldaf, * )
    af, integer ldaf, integer, dimension( * ) ipiv, real, dimension( * )
    work)

CLA_HERPVGRW ✨

Purpose

CLA_HERPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). The norm is used. (yes, that double space is exactly how it's printed β€” the symbol did not survive the typesetting, we mourn 😭). If this is much less than 1, the stability of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable.

⚠️ heads up bestie: if that factor is much less than 1, the LU factorization of the (equilibrated) A could be poor in stability β€” and then the solution X, the estimated condition numbers, and the error bounds could all be unreliable. three strikes, no cap πŸ’€

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 number of linear equations, i.e., the order of the matrix A. N >= 0.
  • INFO β€” INFO is INTEGER. The value of INFO returned from SSYTRF, .i.e., the pivot in column INFO is exactly 0.
  • A β€” A is COMPLEX array, dimension (LDA,N). On entry, the N-by-N matrix A.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • AF β€” AF is COMPLEX array, dimension (LDAF,N). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CHETRF.
  • LDAF β€” LDAF is INTEGER. The leading dimension of the array AF. LDAF >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by CHETRF.
  • WORK β€” WORK is REAL array, dimension (2*N).

Author

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

Definition

Definition at line 121 of file cla_herpvgrw.f.


πŸ¦‹ real function cla_syrpvgrw

real function cla_syrpvgrw (character*1 uplo, integer n, integer info,
    complex, dimension( lda, * ) a, integer lda, complex, dimension( ldaf, * )
    af, integer ldaf, integer, dimension( * ) ipiv, real, dimension( * )
    work)

CLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix. iykyk 🫢

Purpose

CLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). The norm is used. If this is much less than 1, the stability of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable.

⚠️ same warning, different function: factor much less than 1 β†’ stability of the LU factorization of the (equilibrated) A could be poor, and the solution X, estimated condition numbers, and error bounds could be unreliable. don't ignore her 🫢

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 number of linear equations, i.e., the order of the matrix A. N >= 0.
  • INFO β€” INFO is INTEGER. The value of INFO returned from CSYTRF, .i.e., the pivot in column INFO is exactly 0.
  • A β€” A is COMPLEX array, dimension (LDA,N). On entry, the N-by-N matrix A.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • AF β€” AF is COMPLEX array, dimension (LDAF,N). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSYTRF.
  • LDAF β€” LDAF is INTEGER. The leading dimension of the array AF. LDAF >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by CSYTRF.
  • WORK β€” WORK is REAL array, dimension (2*N).

Author

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

Definition

Definition at line 121 of file cla_syrpvgrw.f.


🌈 double precision function dla_syrpvgrw

double precision function dla_syrpvgrw (character*1 uplo, integer n, integer
    info, double precision, dimension( lda, * ) a, integer lda, double
    precision, dimension( ldaf, * ) af, integer ldaf, integer, dimension( * )
    ipiv, double precision, dimension( * ) work)

DLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix. double precision era, we love to see it πŸ’œ

Purpose

DLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). The norm is used. If this is much less than 1, the stability of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable.

⚠️ the caveat travels with the family: much less than 1 = the LU factorization of the (equilibrated) A could be poor in stability, and X, the estimated condition numbers, and error bounds could be unreliable. periodt πŸ’…

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 number of linear equations, i.e., the order of the matrix A. N >= 0.
  • INFO β€” INFO is INTEGER. The value of INFO returned from DSYTRF, .i.e., the pivot in column INFO is exactly 0.
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). On entry, the N-by-N matrix A.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • AF β€” AF is DOUBLE PRECISION array, dimension (LDAF,N). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by DSYTRF.
  • LDAF β€” LDAF is INTEGER. The leading dimension of the array AF. LDAF >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by DSYTRF.
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (2*N).

Author

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

Definition

Definition at line 120 of file dla_syrpvgrw.f.


🧚 real function sla_syrpvgrw

real function sla_syrpvgrw (character*1 uplo, integer n, integer info, real,
    dimension( lda, * ) a, integer lda, real, dimension( ldaf, * ) af,
    integer ldaf, integer, dimension( * ) ipiv, real, dimension( * ) work)

SLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix. single precision real, she's the accessible queen 🌸

Purpose

SLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). The norm is used. If this is much less than 1, the stability of the LU factorization of the (equilibrated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable.

⚠️ say it with me: much less than 1 β†’ LU factorization of the (equilibrated) A could be poor in stability, and the solution X, estimated condition numbers, and error bounds could be unreliable. don't let it slide πŸ™ˆ

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 number of linear equations, i.e., the order of the matrix A. N >= 0.
  • INFO β€” INFO is INTEGER. The value of INFO returned from SSYTRF, .i.e., the pivot in column INFO is exactly 0.
  • A β€” A is REAL array, dimension (LDA,N). On entry, the N-by-N matrix A.
  • LDA β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • AF β€” AF is REAL array, dimension (LDAF,N). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by SSYTRF.
  • LDAF β€” LDAF is INTEGER. The leading dimension of the array AF. LDAF >= max(1,N).
  • IPIV β€” IPIV is INTEGER array, dimension (N). Details of the interchanges and the block structure of D as determined by SSYTRF.
  • WORK β€” WORK is REAL array, dimension (2*N).

Author

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

Definition

Definition at line 120 of file sla_syrpvgrw.f.


πŸ‘‘ double precision function zla_herpvgrw

double precision function zla_herpvgrw (character*1 uplo, integer n, integer
    info, complex*16, dimension( lda, * ) a, integer lda, complex*16,
    dimension( ldaf, * ) af, integer ldaf, integer, dimension( * ) ipiv,
    double precision, dimension( * ) work)

ZLA_HERPVGRW β€” the double precision complex*16 icon herself πŸ‘‘

Purpose

…and that's exactly where this part of the page cuts off, bestie 😭 the purpose text for ZLA_HERPVGRW keeps going in part 2 β€” same page, more lore, don't go anywhere 🫢

πŸ’œ and now the sequel: zla_syrpvgrw πŸ’œ

okay bestie, same energy, different function β€” this one's the symmetric-indefinite twin and she's giving sisterhood. here's the whole signature, verbatim, no cap:

double precision function zla_syrpvgrw (character*1 uplo, integer n, integer
    info, complex*16, dimension( lda, * ) a, integer lda, complex*16,
    dimension( ldaf, * ) af, integer ldaf, integer, dimension( * ) ipiv,
    double precision, dimension( * ) work)

ZLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix. that's her whole personality, and honestly? iconic.


✨ Purpose β€” the vibe check ✨

so here's the tea: ZLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U). the norm is used β€” yes it says it just like that, we don't ask questions, we accept. 🫢

if that number comes out much less than 1, then bestie… the stability of the LU factorization of the (equilibrated) matrix A could be poor. 😭 and because the universe is like that, it also means the solution X, the estimated condition numbers and the error bounds could be unreliable. so like… don't trust them?? do not let them borrow your charger, that kind of untrustworthy. πŸ’€


πŸŽ€ Parameters β€” meet the cast πŸŽ€

  • UPLO β€” is CHARACTER*1, and it's literally just "which triangle, bestie?" πŸ¦‹
    • = 'U': the Upper triangle of A is stored
    • = 'L': the Lower triangle of A is stored
  • N β€” is INTEGER. the number of linear equations, i.e. the order of the matrix A. must satisfy N >= 0. zero is valid, she's flexible πŸ’…
  • INFO β€” is INTEGER. this is the value of INFO returned from ZSYTRF, .i.e., the pivot in column INFO is exactly 0. ✨ (yes the doc really typed .i.e., like that, we stan a quirky queen)
  • A β€” is a COMPLEX*16 array, dimension (LDA,N). on entry, it's the N-by-N matrix A. the main character, obviously πŸ‘‘
  • LDA β€” is INTEGER. the leading dimension of the array A. requirement: LDA >= max(1,N). no shortcuts, she checks IDs at the door πŸ™ˆ
  • AF β€” is a COMPLEX*16 array, dimension (LDAF,N). this holds the block diagonal matrix D and the multipliers used to obtain the factor U or L, as computed by ZSYTRF. so it's like, the receipts from factorization 🧾
  • LDAF β€” is INTEGER. the leading dimension of the array AF. requirement: LDAF >= max(1,N). same energy, same bouncer 🫢
  • IPIV β€” is an INTEGER array, dimension (N). the details of the interchanges and the block structure of D, as determined by ZSYTRF. the lore. the backstory. πŸ“–
  • WORK β€” is a DOUBLE PRECISION array, dimension (2*N). that's it. that's the whole description. she's low-maintenance, we love her for that 🌸

πŸ‘‘ Author πŸ‘‘

these absolute legends:

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

⭐ Definition at line 121 of file zla_syrpvgrw.f

yes bestie, line 121, file zla_syrpvgrw.f β€” if you need to know exactly where the sauce lives, it's right there. πŸ”₯


🌈 Author (the meta one) 🌈

Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this section, it's a robot doing its little robot thing πŸ€–πŸ’–

friendly reminder before you go: both of these routines had that same warning in their Purpose text β€” if the reciprocal pivot growth factor is much less than 1, the factorization stability could be poor and the solution X, estimated condition numbers and error bounds could be unreliable. that goes for both zla_herpvgrw and zla_syrpvgrw, no cap. take the warning seriously even though we're giggling πŸ’€

and that's a wrap on LAPACK Version 3.12.0, page la_herpvgrw(3), served fresh from the source code by that little Doxygen gremlin. slay, go forth, and may all your pivot growth factors be close to 1 πŸŽ€βœ¨πŸ¦‹πŸ’…

πŸ“¦ where this page comes from