ZGBRFS(3)

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

πŸ¦‹ NAME

So bestie, this page is literally about one file, and the path is the whole name, no cap:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zgbrfs.f

It's a manpage from the Library Functions Manual (that's the manual name, folding it in here at the top like a good little header πŸ’…), and it's all about ZGBRFS β€” the LAPACK girlie who refines banded solves and hands you error bounds on a silver platter. Obsessed.


✨ SYNOPSIS

πŸŽ€ Functions/Subroutines

subroutine ZGBRFS (trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv,
    b, ldb, x, ldx, ferr, berr, work, rwork, info)
        ZGBRFS

πŸ’– Function/Subroutine Documentation

Here's the full signature in all its glory β€” literally every argument, exactly how it's declared:

subroutine ZGBRFS (character trans, integer n, integer kl, integer ku,
    integer nrhs, complex*16, dimension( ldab, * ) ab, integer ldab,
    complex*16, dimension( ldafb, * ) afb, integer ldafb, integer,
    dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer ldb,
    complex*16, dimension( ldx, * ) x, integer ldx, double precision,
    dimension( * ) ferr, double precision, dimension( * ) berr, complex*16,
    dimension( * ) work, double precision, dimension( * ) rwork, integer
    info)
    ZGBRFS

🌸 Purpose

Okay so the vibe: ZGBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded, and it also provides error bounds and backward error estimates for the solution. It's giving glow-up for your answer vector, plus receipts for how wrong it might still be. 🫢

πŸŽ€ Parameters

  • TRANS is CHARACTER*1 β€” specifies the form of the system of equations, bestie:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T * X = B (Transpose)
    • = 'C': A**H * X = B (Conjugate transpose)
  • N is INTEGER β€” the order of the matrix A. N >= 0. πŸ’«
  • KL is INTEGER β€” the number of subdiagonals within the band of A. KL >= 0.
  • KU is INTEGER β€” the number of superdiagonals within the band of A. KU >= 0.
  • NRHS is INTEGER β€” the number of right hand sides, i.e., the number of columns of the matrices B and X. NRHS >= 0.
  • AB is COMPLEX*16 array, dimension (LDAB,N) β€” the original band matrix A, stored 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). Math slay. πŸ”₯
  • LDAB is INTEGER β€” the leading dimension of the array AB. LDAB >= KL+KU+1.
  • AFB is COMPLEX*16 array, dimension (LDAFB,N) β€” details of the LU factorization of the band matrix A, as computed by ZGBTRF. 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. Iconic layering tbh. ✨
  • LDAFB is INTEGER β€” the leading dimension of the array AFB. LDAFB >= 2*KL*KU+1. (Yeah, that's exactly what it says, don't come for me 😭)
  • IPIV is INTEGER array, dimension (N) β€” the pivot indices from ZGBTRF; for 1<=i<=N, row i of the matrix was interchanged with row IPIV(i).
  • B is COMPLEX*16 array, dimension (LDB,NRHS) β€” the right hand side matrix B.
  • LDB is INTEGER β€” the leading dimension of the array B. LDB >= max(1,N).
  • X is COMPLEX*16 array, dimension (LDX,NRHS) β€” on entry, the solution matrix X, as computed by ZGBTRS. On exit, the improved solution matrix X. Glow-up complete πŸ’…
  • LDX is INTEGER β€” the leading dimension of the array X. LDX >= max(1,N).
  • FERR is DOUBLE PRECISION array, dimension (NRHS) β€” the estimated forward error bound for each solution vector X(j) (the j-th column of the solution matrix X). If XTRUE is the true solution corresponding to X(j), FERR(j) is an estimated upper bound for the magnitude of the largest element in (X(j) - XTRUE) divided by the magnitude of the largest element in X(j). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. It's an overthinker, but like, in a useful way. πŸ™ˆ
  • BERR is DOUBLE PRECISION array, dimension (NRHS) β€” the componentwise relative backward error of each solution vector X(j) (i.e., the smallest relative change in any element of A or B that makes X(j) an exact solution).
  • WORK is COMPLEX*16 array, dimension (2*N).
  • RWORK is DOUBLE PRECISION array, dimension (N).
  • INFO is INTEGER β€” the status check bestie:
    • = 0: successful exit ✨
    • < 0: if INFO = -i, the i-th argument had an illegal value πŸ‘€

🧚 Internal Parameters

  • ITMAX is the maximum number of steps of iterative refinement.

πŸ‘‘ Author

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

Definition at line 203 of file zgbrfs.f.


🌈 Author

Generated automatically by Doxygen for LAPACK from the source code. (Not a human, just a very hardworking doc generator πŸŽ€)


Okay that's the whole page, bestie β€” every flag, bound, and row index accounted for, fr fr. πŸ’œ

Sign-off: this cutie is LAPACK Version 3.12.0, and you can find it chilling at the path /home/abui...RC/zgbrfs.f(3) β€” mwah, bye! πŸ’–πŸ¦‹πŸŽ€

πŸ“¦ where this page comes from