gbcon(3)

πŸ’– NAME πŸ’–

okay so, bestie: this is gbcon(3) from the Library Functions Manual, and it is literally gbcon: condition number estimate. That's the name, that's the vibe, periodt. πŸ’…


✨ SYNOPSIS ✨

🌟 Functions 🌟

Here's the whole squad of subroutine besties β€” four of them, all lined up:

       subroutine cgbcon (norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work,
           rwork, info)
           CGBCON
       subroutine dgbcon (norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work,
           iwork, info)
           DGBCON
       subroutine sgbcon (norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work,
           iwork, info)
           SGBCON
       subroutine zgbcon (norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work,
           rwork, info)
           ZGBCON

πŸ¦‹ Detailed Description πŸ¦‹

This is the detailed-description zone, and it's basically the runway before the function docs walk out. No extra lore here β€” the real tea is in Function Documentation below. πŸ’–


πŸ‘‘ Function Documentation πŸ‘‘

πŸ’– subroutine cgbcon β€” CGBCON πŸ’–

   subroutine cgbcon (character norm, integer n, integer kl, integer ku,
       complex, dimension( ldab, * ) ab, integer ldab, integer, dimension( * )
       ipiv, real anorm, real rcond, complex, dimension( * ) work, real,
       dimension( * ) rwork, integer info)
       CGBCON

🎯 Purpose 🎯

CGBCON estimates the reciprocal of the condition number of a complex general band matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by CGBTRF.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as:

RCOND = 1 / ( norm(A) * norm(inv(A)) ).

🌸 Parameters 🌸

  • NORM β€” NORM is CHARACTER*1. It says whether you want the 1-norm condition number or the infinity-norm condition number:
    • = '1' or 'O': 1-norm;
    • = 'I': Infinity-norm.
  • N β€” N is INTEGER. The order 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 array, dimension (LDAB,N). Details of the LU factorization of the band matrix A, as computed by CGBTRF. U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and the multipliers used during the factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices; for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i).
  • ANORM β€” ANORM is REAL. If NORM = '1' or 'O', the 1-norm of the original matrix A. If NORM = 'I', the infinity-norm of the original matrix A.
  • RCOND β€” RCOND is REAL. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))).
  • WORK β€” WORK is COMPLEX array, dimension (2*N).
  • RWORK β€” RWORK is REAL array, dimension (N).
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

πŸ’œ Author πŸ’œ

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

πŸ“Œ Definition πŸ“Œ

Definition at line 145 of file cgbcon.f.


πŸ’– subroutine dgbcon β€” DGBCON πŸ’–

   subroutine dgbcon (character norm, integer n, integer kl, integer ku, double
       precision, dimension( ldab, * ) ab, integer ldab, integer, dimension( *
       ) ipiv, double precision anorm, double precision rcond, double
       precision, dimension( * ) work, integer, dimension( * ) iwork, integer
       info)
       DGBCON

🎯 Purpose 🎯

DGBCON estimates the reciprocal of the condition number of a real general band matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by DGBTRF.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as:

RCOND = 1 / ( norm(A) * norm(inv(A)) ).

🌸 Parameters 🌸

  • NORM β€” NORM is CHARACTER*1. It says whether you want the 1-norm condition number or the infinity-norm condition number:
    • = '1' or 'O': 1-norm;
    • = 'I': Infinity-norm.
  • N β€” N is INTEGER. The order 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 DOUBLE PRECISION array, dimension (LDAB,N). Details of the LU factorization of the band matrix A, as computed by DGBTRF. U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and the multipliers used during the factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices; for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i).
  • ANORM β€” ANORM is DOUBLE PRECISION. If NORM = '1' or 'O', the 1-norm of the original matrix A. If NORM = 'I', the infinity-norm of the original matrix A.
  • RCOND β€” RCOND is DOUBLE PRECISION. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))).
  • WORK β€” WORK is DOUBLE PRECISION array, dimension (3*N).
  • IWORK β€” IWORK is INTEGER array, dimension (N).
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

πŸ’œ Author πŸ’œ

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

πŸ“Œ Definition πŸ“Œ

Definition at line 144 of file dgbcon.f.


πŸ’– subroutine sgbcon β€” SGBCON πŸ’–

   subroutine sgbcon (character norm, integer n, integer kl, integer ku, real,
       dimension( ldab, * ) ab, integer ldab, integer, dimension( * ) ipiv,
       real anorm, real rcond, real, dimension( * ) work, integer, dimension( *
       ) iwork, integer info)
       SGBCON

🎯 Purpose 🎯

SGBCON estimates the reciprocal of the condition number of a real general band matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by SGBTRF.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as:

RCOND = 1 / ( norm(A) * norm(inv(A)) ).

🌸 Parameters 🌸

  • NORM β€” NORM is CHARACTER*1. It says whether you want the 1-norm condition number or the infinity-norm condition number:
    • = '1' or 'O': 1-norm;
    • = 'I': Infinity-norm.
  • N β€” N is INTEGER. The order 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 REAL array, dimension (LDAB,N). Details of the LU factorization of the band matrix A, as computed by SGBTRF. U is stored as an upper triangular band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and the multipliers used during the factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
  • LDAB β€” LDAB is INTEGER. The leading dimension of the array AB. LDAB >= 2*KL+KU+1.
  • IPIV β€” IPIV is INTEGER array, dimension (N). The pivot indices; for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i).
  • ANORM β€” ANORM is REAL. If NORM = '1' or 'O', the 1-norm of the original matrix A. If NORM = 'I', the infinity-norm of the original matrix A.
  • RCOND β€” RCOND is REAL. The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))).
  • WORK β€” WORK is REAL array, dimension (3*N).
  • IWORK β€” IWORK is INTEGER array, dimension (N).
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

πŸ’œ Author πŸ’œ

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

πŸ“Œ Definition πŸ“Œ

Definition at line 144 of file sgbcon.f.


πŸ’– subroutine zgbcon β€” ZGBCON πŸ’–

   subroutine zgbcon (character norm, integer n, integer kl, integer ku,
       complex*16, dimension( ldab, * ) ab, integer ldab, integer, dimension( *
       ) ipiv, double precision anorm, double precision rcond, complex*16,
       dimension( * ) work, double precision, dimension( * ) rwork, integer
       info)
       ZGBCON

🎯 Purpose 🎯

ZGBCON estimates the reciprocal of the condition number of a complex general band matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by ZGBTRF.

An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as:

RCOND = 1 / ( norm(A) * norm(inv(A)) ).

🌸 Parameters 🌸

  • NORM β€” okay bestie, this is where part 1 literally cuts off. NORM's full description is about to walk in with part 2 πŸ’…
  • NORM β€” CHARACTER*1, bestie, listen up: this one picks which condition number we're computing, okay?
= '1' or 'O':  1-norm;
= 'I':         Infinity-norm.
  • N β€” INTEGER. The order of the matrix A. Gotta be N >= 0 β€” no negative girlies allowed πŸ’…
  • KL β€” INTEGER. The number of subdiagonals within the band of A. KL >= 0, always. That's the rule πŸ“
  • KU β€” INTEGER. The number of superdiagonals within the band of A. Also KU >= 0. Symmetry, we love to see it ✨
  • AB β€” COMPLEX*16 array, dimension (LDAB,N). This is the whole tea β˜• β€” the details of the LU factorization of the band matrix A, exactly as computed by ZGBTRF. So like: U is stored as an upper triangular band matrix with KL+KU superdiagonals sitting in rows 1 to KL+KU+1, and then the multipliers used during the factorization are chilling in rows KL+KU+2 to 2*KL+KU+1. Bookkeeping but make it iconic πŸŽ€
  • LDAB β€” INTEGER. The leading dimension of the array AB. Constraint: LDAB >= 2*KL+KU+1. Respect the boundary pls 🚧
  • IPIV β€” INTEGER array, dimension (N). The pivot indices, and no cap this part actually matters: for 1 <= i <= N, row i of the matrix was interchanged with row IPIV(i). That's the receipts 🧾
  • ANORM β€” DOUBLE PRECISION. The norm of the original matrix A, and it depends on your vibe check up top: if NORM = '1' or 'O', it's the 1-norm of the original matrix A; if NORM = 'I', it's the infinity-norm of the original matrix A. Match it up correctly or it's giving chaos 🌈
  • RCOND β€” DOUBLE PRECISION. The reciprocal of the condition number of the matrix A, computed as:
RCOND = 1/(norm(A) * norm(inv(A)))

Literally the main character output of this whole routine, iykyk πŸ‘‘

  • WORK β€” COMPLEX*16 array, dimension (2*N). Scratch space, doing the background work 🫢
  • RWORK β€” DOUBLE PRECISION array, dimension (N). More scratch space, real-valued this time πŸ“
  • INFO β€” INTEGER. The final verdict, periodt:
= 0:  successful exit
< 0: if INFO = -i, the i-th argument had an illegal value

So if you get a negative, some arg showed up to the function looking a mess πŸ’€


🌸 Author 🌸

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

Definition at line 145 of file zgbcon.f. Not me knowing exactly where it lives 😭

πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for LAPACK from the source code. The robots wrote the docs, we just made them cute 🧚


okay that's the whole page bestie, go forth and compute condition numbers responsibly πŸ’–

Shoutout to LAPACK, Version 3.12.0, and this gbcon(3) page β€” that's the source and version, and the date lives on the footer, but we're saying bye in style instead. Mwah πŸ’‹πŸŽ€πŸ’œ

πŸ“¦ where this page comes from