CGBT05(3)

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

πŸ’… CGBT05(3) β€” Library Functions Manual πŸ’…

okay bestie, we are in the Library Functions Manual and the page is cgbt05.f(3). This is the whole group-chat rundown for CGBT05, a Fortran subroutine situation. It's giving LAPACK testing energy, and the facts are staying exactly where they are β€” no cap. πŸ’–

✨ NAME ✨

The NAME section is just the full file path, path and all:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/cgbt05.f

πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines πŸ¦‹

Here's the subroutine lineup, exactly:

subroutine CGBT05 (trans, n, kl, ku, nrhs, ab, ldab, b, ldb, x, ldx,
    xact, ldxact, ferr, berr, reslts)
    CGBT05

πŸ’– Function/Subroutine Documentation πŸ’–

The full signature is this iconic thing right here:

subroutine CGBT05 (character trans, integer n, integer kl, integer ku,
    integer nrhs, complex, dimension( ldab, * ) ab, integer ldab, complex,
    dimension( ldb, * ) b, integer ldb, complex, dimension( ldx, * ) x,
    integer ldx, complex, dimension( ldxact, * ) xact, integer ldxact, real,
    dimension( * ) ferr, real, dimension( * ) berr, real, dimension( * )
    reslts)
    CGBT05

🎯 Purpose 🎯

CGBT05 is the tester for error bounds coming out of iterative refinement when you've computed a solution to a system of equations op(A)*X = B. The matrix A is a general band matrix of order n with kl subdiagonals and ku superdiagonals, and op(A) = A, A**T, or A**H, depending on TRANS. Slay. ✨

Then the results are doing this:

RESLTS(1) = test of the error bound
          = norm(X - XACT) / ( norm(X) * FERR )

If that ratio is not less than one, a large value is returned. That's the little alarm bell. 🚨

RESLTS(2) = residual from the iterative refinement routine
          = the maximum of BERR / ( NZ*EPS + (*) ), where
            (*) = NZ*UNFL / (min_i (abs(op(A))*abs(X) +abs(b))_i )
            and NZ = max. number of nonzeros in any row of A, plus 1

πŸ› οΈ Parameters πŸ› οΈ

  • TRANS β€” this is a CHARACTER*1 telling us which form of the system we're in. The options are:
    • = 'N': A * X = B (No transpose)
    • = 'T': A**T * X = B (Transpose)
    • = 'C': A**H * X = B (Conjugate transpose = Transpose)
  • N β€” N is an INTEGER, bestie. It's how many rows X, B, and XACT have, and it's also the order of A. It must satisfy N >= 0.
  • KL β€” KL is an INTEGER: the number of subdiagonals inside A's band. KL >= 0 is the requirement.
  • KU β€” KU is an INTEGER: the number of superdiagonals inside A's band. KU >= 0 is the requirement.
  • NRHS β€” NRHS is an INTEGER for how many columns X, B, and XACT have. It's gotta be NRHS >= 0.
  • AB β€” AB is a COMPLEX array with dimension (LDAB,N). This holds the original band matrix A, packed into rows 1 through KL+KU+1. Here's the mapping:
AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).
  • LDAB β€” LDAB is an INTEGER for the leading dimension of the array AB, and it has to be LDAB >= KL+KU+1.
  • B β€” B is a COMPLEX array, dimension (LDB,NRHS), and it's the right hand side vectors for the system of linear equations. Periodt.
  • LDB β€” LDB is the INTEGER leading dimension of the array B; requirement: LDB >= max(1,N).
  • X β€” X is a COMPLEX array, dimension (LDX,NRHS). These are the computed solution vectors, packed one per column of the matrix X.
  • LDX β€” LDX is the INTEGER leading dimension of the array X; requirement: LDX >= max(1,N).
  • XACT β€” XACT is a COMPLEX array, dimension (LDX,NRHS) β€” yes, that's what the page says β€” and it holds the exact solution vectors, one per column of the matrix XACT.
  • LDXACT β€” LDXACT is the INTEGER leading dimension of the array XACT; requirement: LDXACT >= max(1,N).
  • FERR β€” FERR is a REAL array, dimension (NRHS). It's the estimated forward error bounds for each solution vector X. If XTRUE is the true solution, FERR bounds the magnitude of the largest entry in (X - XTRUE) divided by the magnitude of the largest entry in X.
  • BERR β€” BERR is a REAL array, dimension (NRHS). It's the componentwise relative backward error of each solution vector (i.e., the smallest relative change in any entry of A or B that makes X an exact solution).
  • RESLTS β€” RESLTS is a REAL array, dimension (2). It's the maximum over the NRHS solution vectors of these ratios:
RESLTS(1) = norm(X - XACT) / ( norm(X) * FERR )
RESLTS(2) = BERR / ( NZ*EPS + (*) )

πŸ‘‘ Author πŸ‘‘

The author section is naming the institutions, and we are respecting the icons:

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

Definition at line 174 of file cgbt05.f.

πŸ‘‘ Author (generated automatically) πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code. It's the auto-generated author note, doing its little documentation dance. 🫢


And that's the page, bestie. The footer energy is LAPACK Version 3.12.0 with the source/page source path /home/abui...IN/cgbt05.f(3), so the version and source line are right here in the sign-off. No date is shown in this footer, just the version and path doing their thing. Stay slay, and may your error bounds always be less than one. πŸ’œβœ¨

πŸ“¦ where this page comes from