SRC/ztbcon.f(3)

πŸ’… SRC/ztbcon.f

okay so bestie, this is a Fortran subroutine page from LAPACK β€” it lives in the Library Functions Manual, and it's literally the whole glow-up of SRC/ztbcon.f. no cap, it's giving "reference documentation that ate". let's get into it πŸŽ€


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine ztbcon (norm, uplo, diag, n, kd, ab, ldab, rcond, work, rwork, info) β€” that's ZTBCON, the main character πŸ‘‘
subroutine ztbcon (norm, uplo, diag, n, kd, ab, ldab, rcond, work, rwork, info)

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine ztbcon

here's the full signature, character for character, no edits:

subroutine ztbcon (character norm, character uplo, character diag, integer n,
     integer kd, complex*16, dimension( ldab, * ) ab, integer ldab,
     double precision rcond, complex*16, dimension( * ) work,
     double precision, dimension( * ) rwork, integer info)

ZTBCON πŸ’œ


🧚 Purpose

so what does this icon actually do? ZTBCON estimates the reciprocal of the condition number of a triangular band matrix A, in either the 1-norm or the infinity-norm. periodt.

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

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

that's the whole vibe πŸ”₯


🌸 Parameters

  • NORM β€” it's CHARACTER*1, and it specifies whether you want the 1-norm condition number or the infinity-norm condition number:
    • = '1' or 'O': 1-norm;
    • = 'I': Infinity-norm.
  • UPLO β€” it's CHARACTER*1:
    • = 'U': A is upper triangular;
    • = 'L': A is lower triangular.
  • DIAG β€” it's CHARACTER*1:
    • = 'N': A is non-unit triangular;
    • = 'U': A is unit triangular.
  • N β€” it's INTEGER, the order of the matrix A. N >= 0.
  • KD β€” it's INTEGER, the number of superdiagonals or subdiagonals of the triangular band matrix A. KD >= 0.
  • AB β€” it's COMPLEX*16 array, dimension (LDAB,N). this is the upper or lower triangular band matrix A, stored in the first kd+1 rows of the array. the j-th column of A is stored in the j-th column of the array AB as follows:
if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).

and hey β€” if DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1. noted πŸ’…

  • LDAB β€” it's INTEGER, the leading dimension of the array AB. LDAB >= KD+1.
  • RCOND β€” it's DOUBLE PRECISION, the reciprocal of the condition number of the matrix A, computed as RCOND = 1/(norm(A) * norm(inv(A))).
  • WORK β€” it's COMPLEX*16 array, dimension (2*N).
  • RWORK β€” it's DOUBLE PRECISION array, dimension (N).
  • INFO β€” it's 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 at line 141 of file ztbcon.f. 🫢


🌈 Author (again, but the meta one) 🌈

Generated automatically by Doxygen for LAPACK from the source code. it's giving "the docs wrote themselves", iconic honestly πŸ™ˆ


that's the whole page bestie, every last flag and formula intact πŸ’– this one's LAPACK Version 3.12.0, SRC/ztbcon.f(3) β€” go forth and condition-number responsibly, mwah πŸ“

πŸ“¦ where this page comes from