SRC/cla_gbrcond_x.f(3)

πŸ’… SRC/cla_gbrcond_x.f

okay so this is the man page for SRC/cla_gbrcond_x.f, straight out of the Library Functions Manual, and honestly? it's a whole mood. it's a Fortran routine, it's got vibes, it's doing linear algebra. let's get into it 🫢


✨ SYNOPSIS ✨

Functions/Subroutines

  • real function cla_gbrcond_x (trans, n, kl, ku, ab, ldab, afb, ldafb, ipiv, x, info, work, rwork) β€” this is the one, bestie. it computes the infinity norm condition number of op(A)*diag(x) for general banded matrices. iconic behavior, no notes.

🌸 Function/Subroutine Documentation 🌸

real function cla_gbrcond_x (character trans, integer n, integer kl, integer
    ku, complex, dimension( ldab, * ) ab, integer ldab, complex, dimension(
    ldafb, * ) afb, integer ldafb, integer, dimension( * ) ipiv, complex,
    dimension( * ) x, integer info, complex, dimension( * ) work, real,
    dimension( * ) rwork)

literally what it says on the tin: CLA_GBRCOND_X computes the infinity norm condition number of op(A)*diag(x) for general banded matrices. the main character of the whole page πŸ’–

Purpose:

CLA_GBRCOND_X Computes the infinity norm condition number of op(A) * diag(X) where X is a COMPLEX vector.

that's it. that's the job. she does one thing and she does it well πŸ‘‘


πŸŽ€ Parameters πŸŽ€

  • TRANS β€” TRANS is CHARACTER*1. this one specifies the form of the system of equations, and you gotta pick your fighter:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T * X = B (Transpose)
    • = 'C': A**H * X = B (Conjugate Transpose = Transpose)
  • N β€” N is INTEGER. the number of linear equations, i.e., the order of the matrix A. constraint check: N >= 0. πŸ“
  • KL β€” KL is INTEGER. the number of subdiagonals within the band of A. constraint check: KL >= 0.
  • KU β€” KU is INTEGER. the number of superdiagonals within the band of A. constraint check: KU >= 0.
  • AB β€” AB is COMPLEX array, dimension (LDAB,N). on entry, the matrix A in band storage, in rows 1 to KL+KU+1. the j-th column of A is stored in the j-th column of the array AB like this:
AB(KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+kl)

yes that's the formula, yes you need it, no we're not skipping it πŸ’€

  • LDAB β€” LDAB is INTEGER. the leading dimension of the array AB. constraint check: LDAB >= KL+KU+1.
  • AFB β€” AFB is COMPLEX array, dimension (LDAFB,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. whew, that's a lot of arithmetic, but she's worth it ✨
  • LDAFB β€” LDAFB is INTEGER. the leading dimension of the array AFB. constraint check: LDAFB >= 2*KL+KU+1.
  • IPIV β€” IPIV is INTEGER array, dimension (N). the pivot indices from the factorization A = P*L*U as computed by CGBTRF; row i of the matrix was interchanged with row IPIV(i). keeping track of who swapped with who, we love a paper trail 🧚
  • X β€” X is COMPLEX array, dimension (N). the vector X in the formula op(A) * diag(X).
  • INFO β€” INFO is INTEGER. the receipts:
    • = 0: Successful exit.
    • i > 0: The ith argument is invalid. 🚨
  • WORK β€” WORK is COMPLEX array, dimension (2*N). workspace. that's it, that's the description, it's a workspace, mind your business πŸ’…
  • RWORK β€” RWORK is REAL array, dimension (N). workspace. same energy, different type. πŸ™ˆ

πŸ‘‘ Author πŸ‘‘

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

Definition at line 151 of file cla_gbrcond_x.f.


🌈 Author (again, but make it meta) 🌈

Generated automatically by Doxygen for LAPACK from the source code. not a human, not a vibe curator, just a doc generator doing its little job πŸ¦‹


lowkey a reminder: this page was auto-generated, so if something looks cursed, blame the source code, not me πŸ’–

and that's the whole thing, bestie β€” LAPACK, Version 3.12.0, SRC/cla_gbrcond_x.f(3), signed, sealed, documented, periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from