CGBCON(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’– CGBCON(3) β€” the whole entire vibe πŸ’–

okay bestie so this page comes from the LAPACK fam, version 3.12.0, and the actual source file it's describing lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgbcon.f β€” yes that's a whole mouthful, no cap. It's a Library Functions Manual page and it's literally all about one little subroutine. Buckle up. πŸŽ€


✨ NAME ✨

CGBCON β€” the glow-up star of this whole document, straight out of the file /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cgbcon.f.


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

  • subroutine CGBCON (norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, rwork, info) β€” she's the icon, she's the moment, she's the one function this page is about.

🌸 Function/Subroutine Documentation 🌸

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)

Purpose πŸ’«

so basically, 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. like she's doing the condition-number math for you, using work that's already been done. obsessed.

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)) ).

that's the whole formula, fr fr. memorize it or don't, but there it is. 🧚

Parameters 🫢

NORM

NORM is CHARACTER*1. she specifies whether the 1-norm condition number or the infinity-norm condition number is required:

  • = '1' or 'O': 1-norm;
  • = 'I': Infinity-norm.

N

N is INTEGER. the order of the matrix A. N >= 0. (she cannot be negative, bestie, that's not a vibe.)

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. yes that's the layout. yes it's specific. she said what she said. πŸ’…

LDAB

LDAB is INTEGER. the leading dimension of the array AB. LDAB >= 2*KL+KU+1. respect the bound or perish.

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))). she's the output of the whole operation, the main character honestly. πŸ‘‘

WORK

WORK is COMPLEX array, dimension (2*N).

RWORK

RWORK is REAL array, dimension (N).

INFO

INFO is INTEGER.

  • = 0: successful exit (slay).
  • < 0: if INFO = -i, the i-th argument had an illegal value (not slay).

πŸ’œ Author πŸ’œ

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

Definition at line 145 of file cgbcon.f.


⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code.


okay that's the whole page, bestie β€” every flag, every bound, every line reference, all of it accounted for. 🫑

and that's a wrap on CGBCON(3) from LAPACK, Version 3.12.0, sourced from /home/abui...RC/cgbcon.f(3) β€” mwah, go estimate some condition numbers, ily πŸ’–βœ¨

πŸ“¦ where this page comes from